第一篇:c语言编程 有一篇文章共有3行文字每行80个字符要求分别统计出其中英文字母数字空
C语言编程 有一篇文章,共有3行文字,每行80个字符。要求分别统计出其中英文字母,数字,空...2种做法,1种用单字符来读取输入,1种用字符串来读取输入。1.#include
while((c =
if('A' <= c && c <= 'Z')
else if('a' <= c &&
else if('0' <= c
else if(c == upper++;
c <= 'z')lower++;
&& c <= '9')' ')space++;
digit++;
else other++;printf(“upper:%dnlower:%dndigit:%dnspace:%dnother:%dn”, upper, lower, digit, space, other);return 0;} 2.#include
for(j = 0;str[i][j];j++)
gets(str[i]);
if('A' <= str[i][j]
upper++;&& str[i][j] <= 'Z')
else if('a' <= str[i][j] && str[i][j] <= 'z')lower++;
else if('0' <= str[i][j] &&
digit++;
else if(str[i][j] == ' ')str[i][j] <= '9')
space++;
else
other++;}printf(“upper:%dnlower:%dndigit:%dnspace:%dnother:%dn”, upper, lower, digit, space, other);return 0;}提问人的追问
2009-05-02 11:48
“for(j = 0;str[i][j];j++)”这一句没有限制条件吧!是不是应该写成“for(j=0;str[i][j]!=' ';j++)”?回答人的补充
2009-05-02 12:04
str[i][j]跟str[i][j]!=' '是一样的。C语言以非0为真,0为假,字符串以' '为结束标志,' '实际上就是数字0。str[i][j]这种形式在C语言中是很普遍的。