程序代码:
/******************************************************************************* 从键盘任意输入10个数字或字符到内存中,然后去除所有非数字的字符并打印出来。 ********************************************************************************/ #include<stdio.h> int main(void) { char a[11]; int i,j,k=11; printf("输入十个字符:\n"); gets(a); for(i=0;i<k;i++) /* 从始至末检查数组 */ if(a[i]<'0'||a[i]>'9') /* 如果发现不是数字的字符 */ { for(j=i;j<k-1;j++) a[j]=a[j+1];/* 把数组这个非数字字符重新赋值,下面依次重新赋值。 如a[0]='a';a[1]='1';,重新赋值后,a[0]为'1'。*/ k--; /* 因为有个字符被取消了,所以数组长度减 1 */ i--; /* 因取消了这个字符,防止重新赋值还为非数字字符,所以i--, 重新检查一遍 */ a[k]='\0'; /* 在字符串的结尾加上休止符,否则就会出现后面一串相同字符*/ } puts(a); getch(); }
[[it] 本帖最后由 广陵绝唱 于 2008-8-9 15:39 编辑 [/it]]