C语言题目求解~统计一个英文文本文件中26个英文字母出现次数

统计一个英文文本文件中26个英文字母出现次数,并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。... 统计一个英文文本文件中26个英文字母出现次数,并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。 展开
 我来答
kaixingui2012
推荐于2016-03-30 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6378万
展开全部
定义一个数组来计数就可以了
int cnt[26]={0};
int ch;
读字符 ch=fgetc(fp);
if ( ch >='a' && ch<='z' )
cnt[ch-'a']++ ; //相应位+1 这里要求文本中的英文字母必须都是小写

关于替换,则需要用strstr()函数去查找了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
th1003304101
推荐于2018-03-15 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:57.1万
展开全部
/* 统计的*/
#include "stdio.h"

main()
{
int a[26] = {0};
char str[100] = "";
char * p = str;
int i;
gets(str);

while(*p)
{
if( *p>= 'a' && *p <='z')
{
a[*p-'a'] ++;
}
p++;
}

/*输出统计结果*/
for( i = 0;i<26;i++)
{
if(a[i])
{
printf("%c : %d\n",i+'a', a[i]);
}
}
getch();

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海雄风2009
2018-03-15 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2822万
展开全部
#include <stdio.h>
int main()
{
FILE *fp=NULL;
char ch;
int i=0,az[26]={0};
fp = fopen("data.txt","r");
while ( (ch =fgetc(fp))!=EOF )
{
printf("%c",ch);
if (ch >='A' && ch<='Z' )
{
az[ch - 65]++;
}
if (ch >='a' && ch<='z')
{
az[ch - 97]++;
}
}
fclose(fp);
printf("字母使用(不分大小写):");
for (i=0;i<26;i++)
{
printf("[%c][%d] ",i+65,az[i]);
}
return 0;
}
asdgdfgdhbcvbgteyegdfgdfg

sdfsdfx
xcv
xcv
x
cv
xcbcvb字母使用(不分大小写):[A][1] [B][4] [C][6] [D][7] [E][2] [F][5] [G][6] [H
][1] [I][0] [J][0] [K][0] [L][0] [M][0] [N][0] [O][0] [P][0] [Q][0] [R][0] [S][3
] [T][1] [U][0] [V][5] [W][0] [X][5] [Y][1] [Z][0] Press any key to continue
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式