求助:用c语言编程 统计输入的一个字符串中每个字母出现的次数

用户输入一行字符串后,能统计出此字符串的单词数量(利用空格判断),统计字符串中每个字母出现的的次数。

第1个回答  推荐于2018-03-12
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

main()
{int i=0,t,dc=0,zm[26];
char a[100];
for(i=0;i<26;i++)
zm[i]=0;
gets(a);
i=0;
while(a[i]!='\0')
{ if(a[i]!=' ')
{while(a[i]>' ' )
{zm[a[i]-'a']++;i++;}
dc++;}
else
i++;
}
for(i=0;i<26;i++)
if(zm[i]>0)
printf("\n%c出现了%d次\t",i+'a',zm[i]);
printf("\n共有单词%d个\n",dc);
system("pause");
}本回答被网友采纳
第2个回答  2009-06-15
答案在北邮出版社郭浩志版C语言程序设计第131页的例7.23,程序太长了手机打不完啊!主要是根据str[i]-'A'和str[i]-'a'+26统记个数,将其按顺序存入数组c中计数。

用c语言怎么统计字符串中某一字符出现的次数
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.例:concat(‘11’,'aa’)='11aa’;2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。例:copy(‘abdag’,2,3)=’bda’3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长...

...语言编写函数实现统计一个字符串中字母出现的次数。
char x;int total = 0;\/\/用来记录字母出现的次数 printf("请输入字符串:");scanf("%s", getChar);\/\/这里接收字符串。接收字符串不要加地址符 & ,因为数组名就是地址(这个知道就行)printf("请输入需要统计的字母:");scanf("%s", &x);for (int i = 0; i < sizeof(getChar); ...

用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数_百 ...
printf("数字个数:%d\\n小写字母个数:%d\\n大写字母个数:%d\\n", num_count, littlealp_count, bigalp_count);printf("空格个数:%d\\n其他字符个数:%d\\n", emp_count, els_count);return 0;} 这个程序通过遍历输入字符串,根据字符的ASCII值来判断其类型并统计出现次数。如果你想进一步优化...

C语言编程:输入一串字母,统计每个字母出现的次数
int c = 0;\/\/记录每个字符个数 b[x] = x + 97;\/\/为了让b[0]是a,b[1]是b依次类推 for (int i = 0; i < 100; i++){ if (b[x] == a[i]){ ++c;s[x] = c;} } if (s[x]>=1)\/\/只输出输入中有的字母 的个数 { printf("%c %d\\n", b[x], s[x]);} ...

用C语言编程:在显示器上输入一段字符串,并统计出现字符的个数和各个...
#include <string.h>void frequency( string& s, char& A[ ], int& C[ ], int &k ) { \/\/ s是输入字符串,数组A[ ]中记录字符串中有多少种不同的字符,C[ ]中记录每 \/\/一种字符的出现次数。这两个数组都应在调用程序中定义。k返回不同字符数。 int i, j, len = s.length( ); if ( !

...从键盘读入一行文本,统计每个英文字母出现的次数。
include#include#defineMAX100intmain(){charstr[MAX];\/\/输入的字符串,最大长度是MAX-1,因为有一个字符串结束符inti=0,count[52]={0};\/\/count数组用来存储各个字母出现的次数scanf("%s",str);while(str[i]!='\\0'){if(str[i]>='a'&&str[i]count[str[i]-97+26]++;}if(str[i]>...

编写一个C语言程序:从键盘读入一行文本,统计每个英文字母出现的次数
1、循环读取字符,直到换行为止。对于每个字符,执行以下流程。2、判断是否为英文字母,即小写和大写两种。3、如果是英文字母,则统计个数。输入部分,可以存为数组,也可以每输入一个字符计算一次。二、参考代码:include <stdio.h>int main(){ int c; int cnt[52]={0}; while((c=get...

C语言,输入一个字符串,统计重复出现某个字母的次数。
){ char c[64]; \/\/我们要用的字符串char l; \/\/要查找的字符int i,sum=0; \/\/sum为出现次数printf("请输入字符串:\\n"); scanf("%s",c); \/\/读入字符串 printf("\\n请输入要查找的字母:\/n"); scanf("%c",&l); ...

C语言编程 输入一个字符串 求大写字母,小写字母,数字出现的次数
include<stdio.h>#include <string.h>int main(){ char s[50]={'0'}; int i ,n=0,m=0; gets(s); for(i=0;i<strlen(s);i++){ if(s[i]>='a' && s[i]<='z') n++; if(s[i]>='A' && s[i]<='Z') m++; } printf("\\nx小写出现的次...

用c语言编程,字符统计:输入一个文本文件,分别统计出其中英文字母、空格...
printf("请输入一行字符:");while ((c=getchar())!='\\n'){ if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z'){ letters++;} else if (c == ' '){ space++;} else if (c >= '0'&&c <= '9'){ digit++;} else { other++;} } printf("字母数:%d\\n空格...

相似回答