用C语言编写程序,统计从终端输入的字符中每个大写字母的个数,用#号作为输入结束标记

如题所述

#include"stdio.h"

intmain()

{

inti=0,j,num=0;

chars[10];

while(s[i-1]!='#')

{

scanf("%c",&s[i]);

i++;

}

for(j=0;j<i;j++)

if(s[j]>='A'&&s[j]<='Z')

num++;

printf("%d\n",num);

return0;

}

扩展资料

利用while语句,条件为输入的字符不为'\n'进行统计字母

#include<stdio.h>

intmain()

{

charc;

intletters=0,spaces=0,digits=0,others=0;

printf("请输入一些字母:\n");

while((c=getchar())!='\n')

{

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

letters++;

elseif(c>='0'&&c<='9')

digits++;

elseif(c=='')

spaces++;

else

others++;

}

printf("字母=%d,数字=%d,空格=%d,其他=%d\n",letters,digits,spaces,others);

return0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-19
int main()
{
char ch;
int a[26] = { 0 }, i;
while ((ch = getchar()) != '#'){
if (isupper(ch))
a[ch - 65] += 1;
}
for (i = 0; i < 26; i++)
{
if (a[i])
printf("%c %d \n",i+65, a[i]);
}
return 0;
}

第2个回答  推荐于2017-12-15
#include <stdio.h>
#include <ctype.h>
void main ( )
{ int num[26],i; char c;
for (i=0;i<26;i++) num[i]=0;
while (( c=getchar())!= '#') /* 统计从终端输入的大写字母个数*/
if (isupper(c)) num[c-65]+=1;
for (i=0;i<26;i++) /* 输出大写字母和该字母的个数*/
if (num[i])printf("%c:%d\n",i+65,num[i]);
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网