请问一下~~~
编程实现:从键盘输入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();
}
