统计字符 c语言程序,统计字符个数的C语言程序.doc

本文介绍了一个C语言程序,用于统计输入字符串中的英文字母、空格、数字及其他字符的数量,并提供了程序代码及运行示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

44cb7578e1df5412b94317daaa3307ba.gif统计字符个数的C语言程序.doc

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

9.9

积分

还剩页未读,继续阅读

关 键 词:统计字符个数的C语言程序

统计字符个数的 C 语言程序

C语言统计字符数

C语言统计字符

统计字符数的代码

统计文件字符数

统计文件的字符个数

文件的字符统计

文件字符个数

C语言统计字符个数代码

资源描述:

统计字符个数的C语言程序

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

[题解分析]:统计程序的典型结构:

初值归零: int n=0; // n的取名最好与被统计的对象相关。

输入数据。

计数: 循环事件{ if ( 相关对象出现 ) n++; }

输出。//当存在多项统计时,注意输出序列不要混乱。

//注解:因为统计是针对输入的,所以输入可以放在循环事件内。也可以先输入保存,然后再循环一次,进行统计。

#include "stdafx.h"

#include void main()

{

char c; int nEng=0, nSp=0, nDig=0, nElse=0;

printf("请输入一行字符:\n");

while ((c=getchar())!='\n')

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z') nEng++;

else if (c>='0'&&c<='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>='a'&&c<='z'||c>='A'&&c<='Z') nEng++;

else if (c>='0'&&c<='9') nDig++;

else if (c==' ') nSp++;

else nElse++;

}

另一种写法,将第一个字符的输入放在循环外面://自己模仿一遍流程

c=getchar(); //输入第一个字符

while (c!='\n')

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z') nEng++;

else if (c>='0'&&c<='9') nDig++;

else if (c==' ') nSp++;

else nElse++;

c=getchar(); //输入下一个字符

}

//注解:空格的判别也可以写成c==32。// 32是空格的ASCII码。同理,回车、字母等,也可以用ASCII码表示。

改错题:

请改正下列程序中的错误,使程序能输出正确的结果。

注意:不得增行或删行,也不得更改程序的结构!

#include void main()

{

int nEng, nSp, nDig, nElse; char c;

printf("请输入一行字符\n");

scanf("%c",&c);

while ((c=getchar()!='\n'))

{

if(c>'a'&&c'A'&&c=0&&c<=9) nDig++;

else if (c=' ') nSp++;

else nElse++;

}

printf("字母数=%d,数字数=%d,空格数=%d,其它字符个数=%d\n", nEng, nSp, nDig, nElse);

}

程序填空题:

请补充函数main(),它的功能是:分别统计出其中大写字母、小写字母、空格、数字和其他字符的个数。

请勿改动主函数main()中的任何内容,仅在函数的横线上填写所需的若干语句或表达式。

#include 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>='0'&&c<='9') s++;

else if(c==32) ___________;

else q++;

}

printf("大写字母数=%d,小写字母数=%d,数字数=%d,空格数=%d,其它字符个数=%d\n", __________________________________);

}

程序填空题:

请补充函数main(),它的功能是:将C:\CTeach目录下的tst1.txt复制为tst2.txt,同时统计该文件含有几个大写字母、几个小写字母、几个空格、几个其他字符。

请勿改动主函数main()中的任何内容,仅在函数的横线上填写所需的若干语句或表达式。

#include void main()

{

FILE * fg,*fh; char c; int upr=0, lwr=0, sp=0, other=0;

fg=fopen("C:\\CTeach\\ tst1.txt ",______);

fh=fopen("C:\\CTeach\\ tst2.txt ",______);

while(!feof(fg))

{ c=fgetc(fg); fputc(c,fh);

if(c>=’A’&&c<=’Z’) __________

else if(c>=’a’&&c<=’z’) __________

else if(______________) sp++;

else other ++;

} fclose(fg); fclose(fh);

printf(“大小写字母、空格和其他字符分别为 %d、%d、%d、%d个”, upr, lwr, sp, other);

}

//注解:本题为统计文件中的字符数,用途显然比统计输入一行字符重要得多。

//注解:本题也可改为不复制,仅仅统计tst1.txt中的字符数。或者改为复制的过程中,将所有大写字母改为小写。考虑一下如何修改这个程序。

程序设计题:

编写函数fun,它的功能是:输入一行字符,分别统计出其中大写字母和小写字母的个数。。

请勿改动主函数main()中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#includevoid fun( )

{

}

void main()

{

fun( );

}

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:统计字符个数的C语言程序.doc

链接地址:https://www.renrendoc.com/p-16547737.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值