请问一下~~~
编程实现:从键盘输入10个字符,存储到字符型一维数组str中,再从键盘上输入另一个字符ch,要求将str中出现的第一个ch字符删除。将删除ch后的数组str输出到屏幕上。应该怎么用代码实现
谢谢~~
/***************************************************************************** 这个程序主要是数组重新排序的问题。 试着作了个小程序,谨作参考。 WIN-TC测试正常。 *****************************************************************************/ #include<stdio.h> #include<string.h> #define N 10 int main(void) { int i,j; char a[N],b,c; for(i=0;i<=9;++i) { printf("请输入第%d个字符:",i+1); /* 给数组赋值 */ a[i]=getchar(); while(c=getchar()!='\n'&&c!=EOF); /* 清除键盘缓存 */ puts(" "); /* 回车换行 */ } printf("请输入您要删除的字符:"); b=getchar(); /*~~~~~~~~~~输入准备删去的字符 */ puts(" "); for(i=0;i<=9;++i) { if(b==a[i]) /* 当字符数组循环到准备删去的字符的时候 */ { for(j=i;j<9;++j) /* 用j替代循环到这个字符的i,然后接着循环数组 */ a[j]=a[j+1]; /* 用数组的下一个字符替代当前字符,也就等于把 字符删去,然后把后面的排序。 */ a[9]='\0'; /* 数组的最后一个字符被休止符所替代 */ break; /* 跳出循环 */ } } printf("\n\n\t%s\n",a); /* 输出排序后的数组 */ getch(); }