程序代码:/*******************************************************************************
从键盘任意输入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]]









