wsh_wshkk 2023-02-04 19:34 采纳率: 80%
浏览 48
已结题

关于#c语言#的问题:这个首字母大写的问题

img

img

img

img


c语言,这个首字母大写的问题,为什么会显示错误啊,实在是不知道了,求解

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2023-02-04 22:46
    关注

    供参考:

    #include<stdio.h>
    #include<ctype.h>
    int main()
    {
        char a[100+1], c;
        int i;
        gets(a);
        if (a[0] != ' ') {
            if (islower(a[0]))//判断s[0]是单词开始
                a[0] = toupper(a[0]);
        }
        for (i = 0; (c = a[i]) != '\0'; i++)
        {
            if (c == ' ' && a[i + 1] != ' ') {//判断s[i+1]是一个单词的开始
                if (islower(a[i + 1]))//判断是否是小写字符
                    a[i + 1] = toupper(a[i + 1]);
            }
        }
        puts(a);
        return 0;
    }
    
    

    另一种写法:

    #include<stdio.h>
    int main()
    {
        int i;
        char s[101];
        gets(s);
        for(i=0;s[i]!='\0';i++)
        {
            if(i==0 && s[i]>='a' && s[i]<='z')
               s[i] = s[i]-32;
            else if(s[i]>='a' && s[i]<='z' && s[i-1]==' ')
               s[i] = s[i]-32;
        }
        puts(s);
        return 0;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月16日
  • 已采纳回答 2月8日
  • 创建了问题 2月4日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥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 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看