C语言题目求解~统计一个英文文本文件中26个英文字母出现次数
统计一个英文文本文件中26个英文字母出现次数,并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。...
统计一个英文文本文件中26个英文字母出现次数,并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。
展开
展开全部
定义一个数组来计数就可以了
int cnt[26]={0};
int ch;
读字符 ch=fgetc(fp);
if ( ch >='a' && ch<='z' )
cnt[ch-'a']++ ; //相应位+1 这里要求文本中的英文字母必须都是小写
关于替换,则需要用strstr()函数去查找了
int cnt[26]={0};
int ch;
读字符 ch=fgetc(fp);
if ( ch >='a' && ch<='z' )
cnt[ch-'a']++ ; //相应位+1 这里要求文本中的英文字母必须都是小写
关于替换,则需要用strstr()函数去查找了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/* 统计的*/
#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();
}
#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();
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询