Humaos 2022-10-22 17:03 采纳率: 100%
浏览 58
已结题

为什么这个代码输出没有结果?

#include<stdio.h>

int main()
{
    char a[50];
    int i,bk=0,nm=0,su=0,lo=0,df=0;
    printf("请不断输入字符,输入“#”会直接结束读取(最多容纳50个字符):");
    for(i=0;a[i]!='#';i++)
    {
        scanf("%c,",&a[i]);
        if(a[i]=='#')
            break;
    }
    for(i=0;i>=0;i++)
    {
        if(a[i]>='a'&&a[i]<='z')
        {
            bk++;
        }
        else if(a[i]>='A'&&a[i]<='Z')
        {
            nm++;
        }
        if(a[i]==' ')
        {
            su++;
        }
        else if(a[i]>='1'&&a[i]<='9')
        {
            lo++;
        }
        else
        {
            df++;
        }
    }
    printf("空格有%d个\n小写字母有%d个\n大写字母有%d个\n数字字符有%d个\n其他字符有%d个。",su,bk,nm,lo,df);
}


  • 写回答

2条回答 默认 最新

  • 加油吧,小杜 2022-10-22 17:19
    关注

    你有几个问题
    1.

    img


    a[i]还没有存储值。所以可能会导致程序奔溃
    2.

    img


    这个循环会变成死循环
    改良代码如下

    char a[50];
        int i,bk=0,nm=0,su=0,lo=0,df=0;
        printf("请不断输入字符,输入“#”会直接结束读取(最多容纳50个字符):");
        int i_Count=0;
        for(int i=0;i<50;++i)
        {
            char ch;
            scanf("%c,",&ch);
            if(ch=='#')
                break;
            a[i]=ch;
            i_Count++;
        }
        
        for(i=0;i<i_Count;i++)
        {
            if(a[i]>='a'&&a[i]<='z')
            {
                bk++;
            }
            else if(a[i]>='A'&&a[i]<='Z')
            {
                nm++;
            }
            if(a[i]==' ')
            {
                su++;
            }
            else if(a[i]>='1'&&a[i]<='9')
            {
                lo++;
            }
            else
            {
                df++;
            }
        }
        printf("空格有%d个\n小写字母有%d个\n大写字母有%d个\n数字字符有%d个\n其他字符有%d个。",su,bk,nm,lo,df);
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月22日
  • 已采纳回答 10月22日
  • 创建了问题 10月22日

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?