以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abcl23edf456gh,执行程序后输出:123456。请填空。 #include <stdioo.h> #include <ctype.h>

admin2009-04-15  31

问题 以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abcl23edf456gh,执行程序后输出:123456。请填空。
   #include <stdioo.h>
   #include <ctype.h>
   main()
   { char s[80],d[80];    int i,j;
   gets(s);
   for(i=j=0;s!=’\0’;i++)
   if(【  】){d[j]=s;j++;}
   d[j]=’\0’;
   puts(d);

选项

答案s[i]>=’0’&&s[i]<=’9’或isdigit(s[i])

解析 “char s[80],d [80];”定义了两个字符型数组,可以放入80个字符。gets函数是C语言提供的一个专门用于读字符串的函数,它读入全部字符(包括空格),直到遇到回车为止。本题中,读入字符串s后,开始比较s中的每个字符是否为数字字符,因为字符数据在内存中以相应的ASCII码存放,所以只需比较相应的字符是否在’0’到’9’之间,或使用库函数isdigit(),来判断是否为数字字符。如果是数字字符则将此字符存入d数组中,不是则继续进行下一字符的比较,直至s结束(即’0’的出现)。将’\0’字符作为字符串d结束标志,最后调用puts函数输出d。所以空白处应填入比较语句s>>=’0’&& s<=’9’或isdigit(s)以及其他任何等价表达式。
转载请注明原文地址:https://jikaoti.com/ti/V7K0FFFM
0

最新回复(0)