编程实现:输入一行字符(以回车键结束),统计并输入其中英文字母,数字和其他字符的个数?

#include<stdio.h>main(){intnum=0,word=0,others=0;charc;while(c=getchar()!='\n'){if(c>... #include<stdio.h>
main()
{int num=0,word=0,others=0;
char c;
while(c=getchar()!='\n')
{if(c>='0'&&c<='9') num++;
else if(c>='A'&&c<='Z') word++;
else if(c>='a'&&c<='z') word++;
else others++;
}
printf("num=%d\nword=%d\nothers=%d\n",num,word,others);
}
为什么结果都是others有数,其他都都等于0?
展开
 我来答
电子科技小百科
高粉答主

2020-07-08 · 繁杂信息太多,你要学会辨别
知道答主
回答量:4367
采纳率:0%
帮助的人:63.8万
展开全部

1、首先在软件中,建立三个变量,用来记录用户输入的字符类型,具体代码如下。

2、用input 代码和用户进行交互,提示用户输入内容。a = input("请输入您的字符:")。

3、写一个for 循环 为我们判断用户输入的字符类型做准备,具体代码如下。

4、利用if 条件语句 和 isdigit() 代码判断字符是否为数字,具体代码如下。

5、最后利用print 打印出我们的结果,代码如下。

听不清啊
高粉答主

推荐于2017-11-27 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
你把这一句中间加一对括号就对了。
while((c=getchar())!='\n')
不加的话计算机会理解为
while(c=(getchar()!='\n'))
因为后一个!=的优先级高。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2015-04-27 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
#include<stdio.h>
#include<conio.h>

void main()
{
int num=0,word=0,others=0;
char c;
while(1) {
c = getch();
if (c == 13) break;
printf("%c", c);
// while(c = getchar() != '\n') {
if (c >= '0' && c <= '9') num++;
else if (c >= 'A' && c <= 'Z') word++;
else if (c >= 'a' && c <= 'z') word++;
else others++;
}
printf("\nnum = %d\nword = %d\nothers = %d\n", num, word, others);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式