c语言作业:输入一串字符串,以'!'结束,不分大小写,统计其中每种英文字符出现的次数。

输入说明 :
你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组输入数据由一行组成,其中只包括大小写的英文字母和'!',且以'!'结尾,每行字符数不超过100。两组数据之间没有多余的空行。在行首和行尾没有多余的空格。
输出说明 :
对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的终端)依次输出一组对应的答案。每组测试数据由若干行组成,统计每组输入数据输出中出现字母的次数,按照字典序输出,每个出现字母及其出现次数占据一行。在行首和行尾没有多余的空格。具体格式见下。

#include <stdio.h>
#include <string.h>
int main()
{
int i,count[26]={0};
char c;
while((c=getchar())!='!')
{
if(c>='a'&&c<='z')
count[c-'a']++;
}
for(i=0;i<26;i++)
if(count[i]!=0)
printf("%c:%d\n",i+'A',count[i]);
}

如何让这个程序循环统计字母

第1个回答  2015-12-12
#include <stdio.h>//注意是字符串
#include <string.h>
int main()
{
int i,count[26]={0},k=0;
char a[80];
gets(a);
for(i=0;a[i]!='!';i++)
if(a[i]>='a'&&a[i]<='z')count[a[i]-'a']++;
for(k=0;k<26;k++)
if(count[k]!=0)printf("%c:%d\n",k+'a',count[k]);
}本回答被提问者和网友采纳

c语言作业:输入一串字符串,以'!'结束,不分大小写,统计其中每种英文字...
for(k=0;k<26;k++)if(count[k]!=0)printf("%c:%d\\n",k+'a',count[k]);}

任意输入一串字符,以"?"结束,分别统计其中字母,数字和其他字符个数...
1、写好开头#include<stdio.h>,void main()。2、输入一对大括号{},之后所有的步骤都在其中进行 ,定义整形变量n1,n2,n3,n4和字符变量c。3、通过循环控制字符串输入并判断(while循环时需加一组大括号)。4、用if语句判断字符的类型if(c>='a'&&c<='z'||c>='A'&&c<='Z');n1++;else...

C语言的一个题:输入一字符串,一字符“#”表示输入结束。统计其中大写...
include<stdio.h> void main(){ char a;int num1=0;int num2=0;printf("输入一串字符,以#结尾:");while((a=getchar())!='#'){ if((a>=65)&&(a<=90))num1++;else if((a>=97)&&(a<=122))num2++;} printf("大写字母数为:%d,小写字母数为:%d\\n",num1,num2);} ...

C语言的一个题:输入一字符串,一字符“#”表示输入结束。统计其中大写...
char c;int n1= 0,n2 = 0;printf("请输入一串字符串以#结束:\\n");scanf("%c",&c);while(c != '#'){ if(c >= 'A' && c <= 'Z')n1++;else if(c >= 'a' && c <= 'z')n2++;scanf("%c",&c);} printf("大写字母的个数 %d\\n",n1);printf("小写字母的个数 %d...

C言语:从键盘输入一串字符,以-结束,统计其中的数字字符个数,小写字母...
include <stdio.h> void main(){ char c;int n=0,s=0;printf("现在开始输入字符,输入'-'结束循环:");while((c=getchar())!='-'){ if(c>='0'&&c<='9')n++;else if(c>='a'&&c<='z')s++;} printf("数字字符个数是%d,小写字母个数是%d\\n",n,s);getch();} ...

C#编程:编写程序,让用户输入一串字符(以回车键结束),统计其中数字、字母...
string str="abc123 ";int t1=0;\/\/数字个数 int t2=0;\/\/字母个数 int t3=0;\/\/空格数 for(int i=0;i<str.length;i++){ if(用正则表达式来判定str.substring(i,1)的值是否为数字){ t1++;} else if(用正则表达式来判定str.substring(i,1)的值是否为字母){ t2++;} else if(用...

C语言编程题 4.编程实现:由用户从键盘输入一串字符(以回车键结束),统 ...
include<stdio.h>#include<stdlib.h>int main(){ char a[128]; gets(a); int i=0; int c1,c2,c3,c4; c1=c2=c3=c4=0; while(a[i++]) { if(a[i]>='A'&& a[i]<='Z') c1++; else if(a[i]>='a'&& a[i]<='z') c2++; else if...

从键盘输入一串字符(以回车键表示输入结束),统计其中英文字母,空格和数 ...
从键盘输入一串字符(以回车键表示输入结束),统计其中英文字母,空格和数字以及其他字符的个数。#include\x0d\x0a#include\x0d\x0a#include\x0d\x0a#defineM100\x0d\x0a\x0d&

c语言 从键盘输入一行字符,分别统计其中数字字符,字母字符和其他字符...
inta,b,c,ch;a=b=c=0;\/\/计数器初始化为0.while((ch=getchar())!='\\n')\/\/循环读取字符,到换行结束。{ if(ch>='0' && ch<='9')\/\/数字 a++;else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))\/\/字母 b++;else\/\/其它 c++;} printf("%d%d%d\\n",a,b,...

C语言编程:输入一行字符,统计其中英文字母的个数?
include<stdio.h> int main(){char s[200];int i,n=0;gets(s);for(i=0;s[i];i++)if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z')n++;printf("%d\\n",n);getch();return 0;}

相似回答