这个题想了一周了,谁指点一下。。。。
有这样一个问题我想了一周了,还是解决不了。还请大侠指点一下。。。。谢过了!有一篇文章,共有3行文字,每行有80个字符,要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
主要是我不明白怎样区别数字和字符的输入,在C中数字和字符不是通用的吗?还有空格怎样识别呀?scanf不是每输入一次都要嵌入空格的吗?
下不违例~
#include "stdio.h"
int main(void){
char buffer[80],*p=buffer;
int space=0,number=0,c1=0,c2=0,other=0;/*c1、c2分别存放的是大写字母和小写字母的统计数*/
fgets(buffer,80,stdin);
while(*p){
if( *p>='0' && *p<='9' ) number++;
else if( *p>='A' && *p<='Z' ) c1++;
else if( *p>='a' && *p<='z' ) c2++;
else if( *p==' ' ) space++;
else if( !*p) other++;
p++;
}
printf("数字个数%d\n大写字母个数%d\n小写字母个数%d\n空格个数%d\n其他字符个数%d\n",
number,c1,c2,space,other);
return 0;
}