Mercury_sky 2022-11-06 22:52 采纳率: 75%
浏览 31
已结题

c语言,统计字符类型个数

问题遇到的现象和发生背景

c语言,vs2022,输入字符串统计字母和数字的个数,可以运行,但是得出的结果不对

用代码块功能插入代码,请勿粘贴截图

#include<stdio.h>
int main()
{
char a[80];
int i = 0;
char j=0;
int letter=0, sum=0, space=0, other=0;
for (j= 0; j < 80; j++)
{
scanf("%c", &a[j]);
if (a[j] == '\n')
break;
}
for (i = 0; i < j; i++)
{
if (a[i] > '0' && a[i] < '9')
sum++;
else
if (a[i] > 'a' && a[i] < 'z' || a[i] > 'A' && a[i] < 'Z')
letter++;
else
if (a[i] == ' ')
space++;
else
other++;
}
printf("字母有:%d个\n数字有:%d个\n空格有:%d个\n其他字符有:%d个", letter, sum, space, other);
return 0;
}

运行结果及报错内容

输入:i am a student 时输出字母有9个,数字0个,空格有3个,其他字符有2个

我的解答思路和尝试过的方法

用for循环输入一个字符串,再用for循环判断每一个字符的类型

我想要达到的结果

能正确得出结果

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-11-07 00:18
    关注

    if (a[i] > '0' && a[i] < '9') 应修改为:if (a[i] >= '0' && a[i] <= '9')
    if (a[i] > 'a' && a[i] < 'z' || a[i] > 'A' && a[i] < 'Z') 应修改为:if (a[i] >= 'a' && a[i] <= 'z' || a[i] >= 'A' && a[i] <= 'Z')

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月15日
  • 已采纳回答 11月7日
  • 修改了问题 11月6日
  • 修改了问题 11月6日
  • 展开全部

悬赏问题

  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错