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值来判断其类型并统计出现次数。如果你想进一步优化...
} printf("%s中数字字符数量为%d\n",str,num);return 0;}
int bigalp_count = 0;//大写字母个数 int littlealp_count = 0;//小写字母个数 int emp_count = 0;//空格个数 int els_count = 0;//其他字符个数 while((c = getchar()) != '\n')//连续输入字符直到输入回车结束 { if((c >= '0')&&(c <= '9'))//判断是否是数字 { ...
include <stdio.h>int main(){int a[128]={0}; char ch; do {scanf("%c",&ch); a[ch]++; }while(ch!='\n'); for(ch='A';ch<='Z';ch++) if(a[ch])cout<<ch<<":"<<a[ch]<<endl; for(ch='a';ch<='z';ch++) if(a[ch])cout<<ch<<":"<<a[ch]<...
思路:统计字符串中每个数字字符出现的个数可以先定义一个整数数组a大小是10,依次保存0-9字符出现个数,遍历字符串,判断该字符是否是数字字符,如果是对应的数组元素自加1。参考代码:include<stdio.h>#include<string.h>int main(){ char a[100];int i,n,num[10];gets(a);n=strlen(a);for...
{ int i,a=0,b=0,c=0,d=0,n=0;/*分别用于统计英文字符、空格、数字、其它字符、所有字符的统计*/ printf("Please input a string!\n");while(getchar()!='\n')n++;i = getchar();if(65<=i<=90||97<=i<=122)a++;else if(i=0)b++;else if(48<=i<=57)c++;else d...
int i=0,n=0;printf("输入字符串(按Enter结束):\n");gets(s);printf("输入字符(按Enter结束):");c=getchar();for(i=0;i<99;i++){if(c==s[i])n++;} printf("字符串%s中字符%c出现%d次",s,c,n);} //看时间,你是用不到了,留个要学习的看吧。(字符串中可能有空格,...
编写一个函数frequency,统计在一个输入字符串中各个不同字符出现的频度。函数返回两个数组:A[ ]记录字符串中有多少种不同的字符,C[ ]记录每一种字符的出现次数。此外,还要通过整数k返回不同字符数。 函数的原型如下所示: #include #include void frequency( char* s, char A[ ], int C[ ], int &k...
输入格式不对和输入缓冲区太小,字符串,是以\0为结果,但不一定不含空白符,scanf()的%s只输入不含空白符的,会在空白符处断做多个串,测试数据可能是一段文本,很多个单词 长度可以远越过101字节 char a[10240],b[10240];//一个串长达10K,足够了 while(scanf("%s%s",&a,&b)!=EOF)//...
而且j没有+1操作,这样输入的字符都会覆盖到一起。2、不能既有a[j]=getchar()又有scanf("%c",&a[j]),这样会导致一个字符被另一个覆盖,数组不能存储所有的字符。3、scanf("%c\n",&m);应写为scanf("%c",&m);,\n只应出现在printf语句中。按照你的思路,我把代码修改了一下,如下。你可以试试看...