输入一个字符串,再输入一个字符ch,将字符串中所有的ch字符删除后输出该字符串。试编写相应程序。要求定义和调用函数delchar(s,c),该函数将字符串s中出现的所有c
输入一个字符串,再输入一个字符,将字符串中的字符删除后输出,要求定义和调用函数 delchar(s,c) , s 为字符串, c 为指定字符。 运行结果如下: 相关知识点: 试题来源: 解析 // 输入一个字符串,再输入一个字符,将字符串中的字符删除后输出,要求定义和调用函数delchar(s,c),s为字符串,c为指定字符。 #...
解析:本题通过循环访问字符串的每个字符,若该字符与‘c’相等则将其删除,删除方法可通过保留不是‘c’的所有字符来实现。 #include”stdio.h” void main( ) { char s[80]; int i, j; /*定义变量及字符数组*/ gets(s); /*输入字符串s*/ for(i=j=0; s[i]!='\0'; i++) if(s[i]!='c...
include<stdio.h>int main(){char s[200],c; int i,j; printf("Input a string:"); gets(s); printf("Input a char:"); scanf("%c",&c); for(i=j=0;s[i];i++) if(s[i]!=c)s[j++]=s[i]; s[j]='\0'; printf("After deleted,the string is %s\n"...
include <stdio.h> void delchar(char *s,char c){ char *p;for(p=s;*s;s++)if(*s!=c)p++=*s;p='\0';} void main(){ char c,s[100];printf("输入字符串:");gets(s);printf("输入要删除的字符:");scanf("%c",&c);delchar(s,c);printf("%s\n",s);} ...
第一个 scanf("%s",&s); 因为数组名就是地址,所以不是这里面错了,里面应该不要& 第二个,if(s[i]!="c") 这里不是和字符串“C”比较,应该去掉那一对双引号 第三个,你的写法其实不是删除,而是不打印指定的符号。
从键盘输入获取字符串str和字符c: 你可以使用fgets函数来输入字符串,因为它可以处理包含空格的字符串。对于字符c,可以使用scanf函数来输入。 遍历字符串str: 你需要遍历字符串str中的每个字符,检查它们是否等于字符c。 在遍历过程中,检查每个字符是否等于字符c: 如果字符不等于c,则将其添加到新的字符串中。这里的...
char s[100],c; int i,j; gets(s); fflush(stdin); scanf("%c",&c); for(j=0,i=0;i<=strlen(s);i++) if(s[i]!=c)s[j++]=s[i]; printf("%s\n",s); } 本回答由提问者推荐 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 其他...
void squeeze(char *s, char c); void main(void) { char string[20], c; printf("Input a string:"); scanf("%s", string); getchar(); printf("Input a char to be deleted:"); scanf("%c", &c); squeeze(string, c); printf("New String: %s", string); } void squeeze(char *s,...
for(j=i=0;*(p+i);i++) if(*(p+i)!=c) *(q+j++)=*(p+i);*(q+j)='\0';while(*p++=*q++);想了半天才把声明的所有变量都用上……