输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数

如题所述

第1个回答  2019-08-05
1
while语句:
#include
int
main(void)
{
//输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
char
ch;
int
char_num=0,kongge_num=0,int_num=0,other_num=0;
while((ch=getchar())!='\n')//回车键结束输入,并且回车符不计入
{
if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a')
{
char_num++;
}
else
if(ch=='
')
{
kongge_num++;
}
else
if(ch>='0'&&ch<='9')
{
int_num++;
}
else
{
other_num++;
}
}
printf("字母=
%d,空格=
%d,数字=
%d,其它=
%d\n",char_num,kongge_num,int_num,other_num);
return
0;
}
2
,do
while语句:
#include
int
main(void)
{
//输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
char
ch;
int
char_num=0,kongge_num=0,int_num=0,other_num=0;
do
{
if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a')
{
char_num++;
}
else
if(ch=='
')
{
kongge_num++;
}
else
if(ch>='0'&&ch<='9')
{
int_num++;
}
else
{
other_num++;
}
}
while((ch=getchar())!='\n')//回车键结束输入,并且回车符不计入
printf("字母=
%d,空格=
%d,数字=
%d,其它=
%d\n",char_num,kongge_num,int_num,other_num);
return
0;
}
第2个回答  2019-07-23
((ch=getchar())!='\n')的作用
首先将getchar()赋值给ch,然后将CH的值作为括号内赋值表达式的结果参与!=运算.这个表达式在一行内实现了赋值和判断.
其意义就是判断GETCHAR取得的字符是否为回车,并把GETCHAR()赋值给CH.
getchar只能接受单个字符
想接受一行字符可以使用getline().getline会在输入流中读取连续的字符直到遇到回车符,如果读入流为空则返回0.
第3个回答  2019-12-21
有这样的软件啊!这个软件据说是电脑上都配备的有。不能,不但能检测出一段文稿的字数。还能检测出里面有多少错别字,有多少字母,有多少数字。那功能是相当强的,非常实用。
第4个回答  2019-04-29
用字符读,然后一个个判断,
你可以一样写,比如先统计字母,
然后再加入统计空格,
一个测试正确了再加入其他功能,这样最后就全了
第5个回答  2020-03-09

C语言经典例子之统计英文、字母、空格及数字个数

相似回答