c语言:输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数

 我来答
空雨拂秋
推荐于2017-09-10 · TA获得超过147个赞
知道答主
回答量:72
采纳率:0%
帮助的人:42.2万
展开全部
#include<stdio.h>
#define N 100
int main()
{
char a[N];
int i,m=0,n=0,b=0,c=0;
printf("Input a string:");
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')
m++;
else if(a[i]>='0'&&a[i]<='9')
n++;
else if(a[i]==' ')
b++;
else
c++;
}
printf("英文字母:%d\n",m);
printf("数字字符:%d\n",n);
printf("空格:%d\n",b);
printf("其他字符:%d\n",c);
return 0;
}
匿名用户
2017-09-10
展开全部
即学了编程又学了英语(没学好……),岂不美哉?
(printf()函数能用那种方式是因版本的关系)
本程序的优点:不受到字符串长度的限制,运行效率高


#include <stdio.h>


int main (void)

{

//Program fuction introduce

printf ("Character statistics.\n");


//Data

char ch;

int letnum = 0;                    //The number of leters

int spanum = 0;                  //The number of space

int dignum = 0;                  //The number of digits

int resnum = 0;                  //The number of other characters


//Data input

printf ("\nPlease input a charactor string.\n");

scanf ("%c", &ch);


//Data processing

while (ch != 10)

{

if  (64 < ch && ch <91 || 96 < ch && ch < 113)

++letnum;

else if (ch == 32)

++spanum;

else if (47 < ch && ch < 58)

++dignum;

else

++resnum;


scanf ("%c", &ch);

}

++resnum;                    //Attention! Because of the newline (ASCII: 10)!


//Data output

printf ("\nThe results of data processing are as fellows.\n");

printf ("The number of letters:%8d\n"

"The number of space: %8d\n"

"The number of digits: %8d\n"

"The number of others:%8d\n",

letnum, spanum, dignum, resnum);    


//The end

printf ("\nThank you for your using!");

return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gnwangjing
2012-12-02 · 超过30用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:61.9万
展开全部
#include<stdio.h>
#define N 100
int main()
{
char a[N];
int i,m=0,n=0,b=0,c=0;
char *p;
printf("Input a string:");
gets(a);
p=a;
for(i=0;p[0]!='\0';i++,p++)
{
if(p[0]>='a'&&p[0]<='z'||p[0]>='A'&&p[0]<='Z')
m++;
else if(p[0]>='0'&&p[0]<='9')
n++;
else if(p[0]==' ')
b++;
else
c++;
}
printf("英文字母:%d\n",m);
printf("数字字符:%d\n",n);
printf("空格:%d\n",b);
printf("其他字符:%d\n",c);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1024程序员
2020-03-09 · TA获得超过374个赞
知道答主
回答量:457
采纳率:0%
帮助的人:23.2万
展开全部

C语言经典例子之统计英文、字母、空格及数字个数

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邰明雨as
高粉答主

2020-03-24 · 繁杂信息太多,你要学会辨别
知道答主
回答量:13.1万
采纳率:7%
帮助的人:6478万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式