网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言程序设计 文件的读写 文件的读写4.docx

C语言程序设计 文件的读写 文件的读写4.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学生C语言程序设计作业 班级:软件1702 姓名:张栋 C语言程序设计 章节:文件的读写 题目 编写一个程序,用于统计C语言源程序的总行数、总字符数(包括空格)注释字符数及其比例(用百分数表示),空格数及其比例(用百分数表示)。 算法描述或流程图开始 开始 打开 打开待统计的源程序文件 从文件中读一行 从文件中读一行,判断是否为空 T F 行数 行数+1 字符总数 字符总数+=本行字符数 统计空格数 统计空格数 统计注释字符数及所占比例 统计注释字符数及所占比例 关闭文件并打印相关结果 关闭文件并打印相关结果 结束 结束 程序代码 #include stdio.h #include string.h void main(int agrc,char *argv[]) { FILE *fp; char str[100]; int i,flag=0; int line=0,total=0,space=0,note=0; fp=fopen(argv[1],r); while(fgets(str,100,fp)!=NULL) { line++; total+=strlen(str); for(i=0;istrlen(str);i++)//统计空格 { if(str[i]== ) space++; } if(flag==1)//多行注释,“/*”或者“*/”不在的行 note+=strlen(str); for(i=0;istrlen(str);i++)//统计注释。为了防止注释中有多个“//”,故不能写在上一个循环中。 { if(str[i]==/str[i-1]==/) { note+=(strlen(str)-i+1); break; } if(str[i]==*str[i-1]==/) { note+=(strlen(str)-i+1);//“/*....*/”不论是多行还是一行,注释都是在该行的最后。 if(str[strlen(str)-1]!=/str[strlen(str)-2]!=*) //“/*....*/”为多行。 flag=1; break; } if(str[i]==/str[i-1]==*)//“/*....*/”为多行时,“*/”所在的行,即注释的最后一行 { flag=0; note+=i+1; break; } } } fclose(fp); printf(总行数:%d\n总字符数:%d\n注释字符数:%d,所占比例:%.2f%%\n空格数:%d,所占比例:%.2f%%\n,line,total,note,note*100/(float)total,space,space*100/(float)total); } 运行效果 被统计的代码如下图: 统计结果为:

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档