- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
统计字符个数C语言程序
统计字符个数的C语言程序
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
[题解分析]:统计程序的典型结构:
初值归零: int n=0; // n的取名最好与被统计的对象相关。
输入数据。
计数: 循环事件{ if ( 相关对象出现 ) n++; }
输出。//当存在多项统计时,注意输出序列不要混乱。
//注解:因为统计是针对输入的,所以输入可以放在循环事件内。也可以先输入保存,然后再循环一次,进行统计。
#include stdafx.h
#include stdio.h
void main()
{
char c; int nEng=0, nSp=0, nDig=0, nElse=0;
printf(请输入一行字符:\n);
while ((c=getchar())!=\n)
{
if(c=ac=z||c=Ac=Z) nEng++;
else if (c=0c=9) nDig++;
else if (c== ) nSp++;
else nElse++;
}
printf(字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n, nEng, nSp, nDig, nElse);
}
//注解:while ((c=getchar())!=\n) 的意思是:先输入c=getchar(),然后判别c!=\n。这是输入嵌入循环的典型句法,是C语言特有的句式。其他语言适合于分开写(虽然那样比较罗嗦)。分开写的句法可以这样:
while (1) // 1表示永远是真。while (1) 是永真循环,即无限循环。实际靠break; 退出。
{
c=getchar();
if (c==\n) break;
else if(c=ac=z||c=Ac=Z) nEng++;
else if (c=0c=9) nDig++;
else if (c== ) nSp++;
else nElse++;
}
另一种写法,将第一个字符的输入放在循环外面://自己模仿一遍流程
c=getchar(); //输入第一个字符
while (c!=\n)
{
if(c=ac=z||c=Ac=Z) nEng++;
else if (c=0c=9) nDig++;
else if (c== ) nSp++;
else nElse++;
c=getchar(); //输入下一个字符
}
//注解:空格的判别也可以写成c==32。// 32是空格的ASCII码。同理,回车、字母等,也可以用ASCII码表示。
改错题:
请改正下列程序中的错误,使程序能输出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include stdio.h
void main()
{
int nEng, nSp, nDig, nElse; char c;
printf(请输入一行字符\n);
scanf(%c,c);
while ((c=getchar()!=\n))
{
if(cacz||cAcZ) nEng++;
else if (c=0c=9) nDig++;
else if (c= ) nSp++;
else nElse++;
}
printf(字母数=%d,数字数=%d,空格数=%d,其它字符个数=%d\n, nEng, nSp, nDig, nElse);
}
程序填空题:
请补充函数main(),它的功能是:分别统计出其中大写字母、小写字母、空格、数字和其他字符的个数。
请勿改动主函数main()中的任何内容,仅在函数的横线上填写所需的若干语句或表达式。
#include stdio.h
void main()
{
char c; int d=0, x=0, k=0, s=0, q=0;
prinrf(请输入一行字符:\n);
while((______________)!=\n)
{
if (_____________________) d++;
else if(________________________) x++;
else if(c=0c=
文档评论(0)