城市广场大小规范:简单的C语言问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/11 13:59:36
输入一行字符,分别统计出中英文字母,空格,数字和其他字符的个数。
是getchar()吗,但一次只能输入一个字符,那是一行的话,不是要N个getchar()?循环的话,是不是要把中英文字母,空格,数字和其他字符的条件分很多个?哎,我是新手,自学,现在学的有点痛苦,见谅。

#include <stdio.h>

int main(void)
{
int ch;
int zm_num=0,sz_num=0,kg_num=0,qt_num=0;

printf("输入一个字符号串(用回车结束输入)=");

/*当输入回车时退出*/
while((ch=getchar())!='\n'){
/*是字母的情况*/
if( (ch>='a' && ch<='z') || (ch>='A' && ch<='Z') ){
zm_num++;
}
/*是数字的情况*/
else if( (ch>='0' && ch<='9') ){
sz_num++;
}
/*空格的情况*/
else if( ch==' ' ){
kg_num++;
}
/*其它的情况*/
else{
qt_num++;
}
}

printf("输入的字母数=[%d],数字数=[%d],空格数=[%d],其它=[%d]\n",zm_num,sz_num,kg_num,qt_num);

return 0;
}

输入一行字符,你可以试一下gets()函数,它是已回车键结束的