用C语言编写一段程序,题目:输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。

我自己编写了一个,可是出不来,还请大哥哥大姐姐帮帮我,谢谢。... 我自己编写了一个,可是出不来,还请大哥哥大姐姐帮帮我,谢谢。 展开
 我来答
yangruihan123
推荐于2018-04-13 · TA获得超过314个赞
知道答主
回答量:355
采纳率:0%
帮助的人:243万
展开全部
非要限制输入的大小么?过会儿给你发个
#include <stdio.h>
#include <string>
void main(){
char m_input;
int digit=0,space=0,others=0,uppercase=0,lowercase=0;
printf("Please input string:");
while ((m_input=getchar())!='\n')
{
if (m_input>='a'&&m_input<='z')
lowercase++;
else if (m_input>='A'&&m_input<='Z')
uppercase++;
else if (m_input>'0'&&m_input<'9')
digit++;
else if (m_input==' ')
space++;
else
others++;
}
printf("lowercase:%d\t uppercase:%d\t digit:%d\t space:%d\t others:%d\n",lowercase,uppercase,digit,space,others);
}
shuai_chenxi
2009-12-30
知道答主
回答量:35
采纳率:0%
帮助的人:24万
展开全部
为了提高编程的能力,我给你提供的答案为输出三行的字符(你可以改为输入一行的)!
#include <stdio.h>

void main()
{
int i,j,upp,low,dig,spa,oth;
char text[3][80];
upp=low=dig=spa=oth=0;

for (i=0;i<3;i++)
{
printf("please input line %d:\n",i+1);
gets(text[i]);
for (j=0;j<80 && text[i][j]!='\0';j++)
{
if (text[i][j]>='A'&& text[i][j]<='Z')
upp++;
else if (text[i][j]>='a' && text[i][j]<='z')
low++;
else if (text[i][j]>='0' && text[i][j]<='9')
dig++;
else if (text[i][j]==' ')
spa++;
else
oth++;
}
}

printf("\nupper case: %d\n",upp);
printf("lower case: %d\n",low);
printf("digit : %d\n",dig);
printf("space : %d\n",spa);
printf("other : %d\n",oth);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-12-30
展开全部
void main()
{int i,s=0,b=0,c=0,d=0,e=0;
char a[50];
gets(a);
for(i=0;i<50;i++)
{
if(a[i]>='A'&&a[i]<='Z')s++;
else
if(a[i]>='a'&&a[i]<='z')b++;
else
if(a[i]>=1&&a[i]<=9)c++;
else
if(a[i]=='')d++;
else e++;}
printf("A-Z:%d a-z:%d 1-9:%d space:%d others:%d ",s,b,c,d,e);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式