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

admin2009-01-15  34

问题 以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串 :abc123edf456gh,执行程序后输出:123456请填空.
   #include  <stdio.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’或isdit(s[i])或s[i]>=48&& s[i]<=57或s[i]<=’9’ && s[i]>=’0’或’9’>=s[i]] && ’0’<=s[i]或’0’<=s[i] &&’9’>=s[i]或s[i]<=57&& S[i]>=48或57>=s[i]&&48<=s[i]或 48<=s[i]&&57>=s[i]

解析 本题考核的知识点是字符串和字符串的存储方法,字符数组的初始化,字符串的输入和输出的应用。C语言没有字符串变量,字符串不是存放在一个变量中而是存放在一个字符型数组中,因此为7存放字符串,常常在程序中定义字符型数组:字符串存放在字符数组中,但字符敷组与字符串可以不等长,C语言规定以"\0"字符作为字符串结束标志。本题中,char s[80],d[80];定义了两个字符型。数组,可以放入80个字符。gets函数是C语言提供的一个专门用于读字符串的函数,它读入全部字符 (包括空格),直到遇到回车为止。本题中,读八字符串s后,开始比较s中的每个字符是否为数字字符,因为字符数据在内存中以相应的ASCII码存放,所以只需比较相应的ASCII码值是否在48(’0’的 ASCII代码)与57(’9’的ASCII代码)之间,或者直接与’0’,’9’,进行比较,如果是数字字符则将此字符存入d数组中,不是则继续进行下一字符的比较,直至s结束(即’\0’的出现).将"\0"。字符作为字符串 d结束标志,最后调用puts函数输出d。所以在空格处应填入比较语句s>=’0’&&  s<=’9’ 或 isdigit(s)或s>=48&& s<=57或s<=’9’&& s>=’0’或’9’>=s &&’O’<=s或’0’<=s &&’9’ >=s或s<=57 &&  s>=48或 57>=s&&48<=s(或48<=s&&57>=s
转载请注明原文地址:https://kaotiyun.com/show/5oXp777K
0

最新回复(0)