#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main()
{
int c1=0,c2=0,c3=0;
char ch;
FILE *fp;
fp=fopen("创建文本文件f1.txt","r");
while(!feof(fp))
{
ch=fgetc(fp);
if(ch>'0'&&ch<'9')
c1++;
else if(ch>'a'&&ch<'z')
c2++;
else if(ch>'A'&&ch<'Z')
c2++;
else
c3++;
}
printf("letter=%d,digit=%d,other=%d",c1,c2,c3);
return 0;
}
统计文本文件中各类字符个数,代码运行错误
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- ShowMeAI 2022-12-29 20:08关注
存在一些代码问题:
- c1、c2、c3这三个变量分别记录了数字、小写字母和大写字母的个数,但是你的代码中将大写字母和小写字母的个数都统计在了c2中。应该将大写字母的统计放在单独的一个分支中。
- 代码中没有将文件关闭。记得在程序结束时调用fclose函数关闭文件。
修改后的代码如下:
#include "stdio.h" #include "stdlib.h" #include "string.h" int main() { int c1=0,c2=0,c3=0; char ch; FILE *fp; fp=fopen("创建文本文件f1.txt","r"); if(fp == NULL) { printf("Error opening file\n"); exit(1); } while(!feof(fp)) { ch=fgetc(fp); if(ch>'0'&&ch<'9') c1++; else if(ch>='a'&&ch<='z') c2++; else if(ch>='A'&&ch<='Z') c2++; else c3++; } printf("letter=%d,digit=%d,other=%d",c2,c1,c3); fclose(fp); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度