c语言真的很难 2023-01-11 15:33 采纳率: 94.1%
浏览 78
已结题

输入一个字符串,统计字母与非字母的个数

#include "stdio.h"
main()
{    int i,j,k,m;
    char a[i];
    m=i-1;
    printf("请输入一个字符串:\n");
    scanf("%s",&a[i]);
    for(i=0;i<=m;i++)
    {    if(a[i]>'a'&&a[i]<'z')
            j++;
        else if(a[i]>'A'&&a[i]<'Z')
            j++;
        else
            k++;    
    }
    printf("字母有%d个,非字母有%d个",j,k);
 } 

我想写一个"输入一个字符串,统计字母与非字母的个数”的代码,上面的代码没有报错就是计算错误,是哪里错了吗,欢迎提供一些建议

  • 写回答

6条回答 默认 最新

  • 谛凌 2023-01-11 15:38
    关注

    字符串的读取不能这么读,其次j k需要初始化为0,再有,判断时的if需要取等号

    #include "stdio.h"
    #include "string.h"
    main()
    {    int i,j=0,k=0,m;
        char a[i];
        printf("请输入一个字符串:\n");
        scanf("%s",a);   //读取字符串a
        m=strlen(a);   //获取字符串a的长度
        for(i=0;i<m;i++)    //此处不能等于m
        {    if(a[i]>='a'&&a[i]=<'z')   //此处需加上=
                j++;
            else if(a[i]>='A'&&a[i]=<'Z')   //此处需加上=
                j++;
            else
                k++;    
        }
        printf("字母有%d个,非字母有%d个",j,k);
     } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 已采纳回答 1月11日
  • 创建了问题 1月11日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?