1. 输入一串字符,以“?”结束,统计各字母出现的次数,并按字母出现的多少输出,用C语言

先输出字母出现多的,次数相同的按照字母表顺序输出,不出现的不输出

count[26]={0}代表26个字母出现的次数,while((c=getchar())!='?')
{
if(c>='a'&&c<='z')
count[c-'a']++;
}
while里面的是判断循环是否结束的语句
if语句则判断读入的c是否是字母,如果是,则count[c-'a']++;count【c-'a'】就是该字母
比如读入a
a-a就是0
count[0]就代表a字母出现的次数
其余同理
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-05
#include "stdio.h"
main()
{
int cnt[52]={0};
char ch;
int i;
do
{
scanf("%c",&ch);
if(ch>'A' && ch<'Z') cnt[ch-'A']++;
if(ch>'a' && ch<'z') cnt[26+ch-'a']++;
}while(ch!='?');
for(i=0;i<26;i++)printf("字母%c的个数%d\n",'A'+i,cnt[i]);
for(i=0;i<26;i++)printf("字母%c的个数%d\n",'a'+i,cnt[26+i]);
}本回答被提问者采纳
第2个回答  2010-07-12
程序:program ex7_4;
type
digarr:array[0..9] of integer;
var
ch:char;
i:integer;
d:digarr;
begin
for i:=0 to 9 do d[i]:=0;
repeat
read(ch);
inc(d[ord(ch)-ord('0')];
until ch='?';
for i:=0 to 9 do
write(i,':',d[i],' ');
end.

输入一串字符,以?号结束,输出其中小写字母个数和数字个数C语言程序_百 ...
include <stdio.h>void main(){int i=0,m=0,n=0;char str[1000];while(str[i]!='?'){scanf("%c",&str[i]);if(str[i]>='a'&&str[i]<='z') m++;if(str[i]>='0'&&str[i]<='9') n++;}printf("小写字母个数:%d,数字个数:%d",m,n);} 运行示例截图:

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

C语言:键盘输入一个字符串以#结束,分别计算出该字符串中大写字母和数字...
void main(){ char a;int x,y;x=0;y=0;printf("请输入一段字符串,以#号结束\\n");while((a=getchar())!=35){ if(a>64&&a<91)x++;else if(a>47&&a<58)y++;} printf("大写字母个数:%d 数字个数:%d\\n",x,y);return 0;} ...

c语言编程:从键盘输入一行字符,以回车符结束,统计字符个数
%d\\n",q);} 你说的字符是指什么?字母?从键盘输入的都可以是字符。如果是字母,只需将上面的函数修改一下:void tongji(char a[]){ int i,z=0;for(i=0;i<strlen(a);i++)if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')z++;printf("字母:%d\\n",z);} ...

用C语言编写:输入一行字符以@作结束标志,分别统计其中英文字母、空格...
void main(){ int w=0,k=0,n=0,z=0; \/\/w为字母个数,k为空格个数,n为数字个数,z为其他字符个数 char ch;scanf("%c",&ch);while(ch!='@'){ if ( ch>='A'&&ch<='z' )w++;else if ( ch==' ' ) \/\/这里你少写个‘=’号,以后要细心啊 k++;else if ( ch>=...

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);} ...

输入一行字符,以回车键作为结束标志,分别统计出大写字母、小写字母、空...
include <stdlib.h> int main(){ int a=0,b=0,c=0,d=0,e=0,i;char ch[20]={};gets(ch);for(i=0;ch[i]!=0;i++){ if(ch[i]>='A'&&ch[i]<='Z')a+=1;else if(ch[i]>='a'&&ch[i]<='z')b+=1;else if(ch[i]==32)c+=1;else if(ch[i]>='0'&&ch[...

编写一个C语言程序:从键盘读入一行文本,统计每个英文字母出现的次数
3、如果是英文字母,则统计个数。输入部分,可以存为数组,也可以每输入一个字符计算一次。二、参考代码:include <stdio.h>int main(){ int c; int cnt[52]={0}; while((c=getchar())!='\\n')\/\/读取每个字符,直到遇到换行为止。 { if(c>='A'&&c<='Z')\/\/大写 ...

相似回答
大家正在搜