(大小写统计在一起)在主程序中打印出来。A=3,b=1.
我做的程序不知道哪出错了。。求高手帮忙
#include <stdio.h>
#include<string.h>
void count (char ch[])
int i=0;
int sum[26]=0;
while(ch[i]!='0');
if(ch[i]="A"||ch[i]=="a") sum[1]++;
if(ch[i]="B"||ch[i]=="b") sum[2]++;
if(ch[i]="C"||ch[i]=="c") sum[3]++;
if(ch[i]="D"||ch[i]=="d") sum[4]++;
if(ch[i]="E"||ch[i]=="e") sum[5]++;
if(ch[i]="F"||ch[i]=="f") sum[6] ++;
if(ch[i]="G"||ch[i]=="g") sum[7]++;
if(ch[i]="H"||ch[i]=="h") sum[8]++;
if(ch[i]="I"||ch[i]=="i") sum[9]++;
if(ch[i]="J"||ch[i]=="j") sum[10]++;
if(ch[i]="K"||ch[i]=="k") sum[11]++;
if(ch[i]="L"||ch[i]=="l") sum[12]++;
if(ch[i]="M"||ch[i]=="m") sum[13]++;
if(ch[i]="N"||ch[i]=="n") sum[14]++;
if(ch[i]="O"||ch[i]=="o") sum[15]++;
if(ch[i]="P"||ch[i]=="p") sum[16]++;
if(ch[i]="Q"||ch[i]=="q") sum[17]++;
if(ch[i]="R"||ch[i]=="r") sum [18]++;
if(ch[i]="S"||ch[i]=="s") sum[19]++;
if(ch[i]="T"||ch[i]=="t") sum[20]++;
if(ch[i]="U"||ch[i]=="u") sum[21]++;
if(ch[i]="V"||ch[i]=="v") sum[22]++;
if(ch[i]="W"||ch[i]=="w") sum[23]++;
if(ch[i]="X"||ch[i]=="x") sum[24]++;
if(ch[i]="Y"||ch[i]=="y") sum[25]++;
if(ch[i]="Z"||ch[i]=="z") sum[26]++;
i++;
printf("Character number%d",ch[i],sum[i]);
main()
char str[26];
int i;
printf("please input sting:");
count(str);
gets(str);
参考知识1
while(ch[i]!='0');
应该是while(ch[i]!='\n');
if(ch[i]="A"||ch[i]=="a")
应该是
if(ch[i]=='A'||ch[i]=='a') ==号,单引号
给你个简单的:
#include <stdio.h>
int main()
static int cnt[26];
char ch;
int i;
printf("输入字符串:");
while((ch=getchar())!='\n')
if(ch>='a'&&ch<='z')
cnt[ch-'a']++;
if(ch>='A'&&ch<='Z')
cnt[ch-'A']++;
for(i=0;i<26;i++)
if(cnt[i])
printf("%c:%d\n",'A'+i,cnt[i]);
return 0;
参考知识B
看到楼主的代码,我大吃一惊,太复杂了吧。我在你的基础上改了,看注释,不懂可追问
#include <stdio.h>
#include<string.h>
void count (char ch[])
int i=0;
int sum[26]=0;
while(ch[i]!='\0') // 分号去掉,'0'改成'\0'
if(ch[i]>='A' && ch[i]<='Z') // 字符是单引号,不是双引号
sum[ch[i] - 'A']++; // 如果是'A',sum[0]就会加1,以此类推
else if (ch[i] >= 'a' && ch[i] <= 'z')
sum[ch[i] - 'a']++;
i++;
for (i = 0; i < 26; i++) // 打印26个字母的个数
printf("Character %c number %d\n",i + 'A',sum[i]);
int main()
char str[26];
printf("please input sting:");
gets(str); // 先读入字符串,再调用函数计算
count(str);
return 0;
本回答被提问者采纳