首页 > 其他分享 >CP1023 单词首字母大写

CP1023 单词首字母大写

时间:2023-01-05 18:12:34浏览次数:38  
标签:int MAX CP1023 大写 首字母 NUM && include

一道卡了我好几天的题目(题干绝不是你看起来的这么简单,因为并不是简单的空格判定)

我的做法:

#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAX_NUM 128

int main()
{
    char s[MAX_NUM]= {0};
    int o=1;
    fgets(s, MAX_NUM, stdin);
    int len = (int)strlen(s);

    if(s[0]>='a'&&s[0]<='z')//判断首字母
    {
        s[0] =s[0]-32;
    }
    if(s[o]=='d')//这里偷了个小懒,该判断可以省略
    {
        s[o]=s[o]-32;
    }
    for(int i=0; i<len; i++)
    {
        if(s[i]==' '||s[i] =='1'||s[i] =='2'||s[i] =='3'||s[i] =='4'||s[i] =='5'||s[i] =='6'||s[i] =='7'||s[i] =='8'||s[i] =='9'||s[i] =='0')//判断当前的字符是不是字母
        {
            if(s[i+1]>='0'&&s[i+1]<='9')//判断是不是下一个又是数字等其它字符
            {
                continue;
            }
            if(s[i+1]>='a'&&s[i+1]<='z')
            {
                s[i+1] -= 32;
            }
        }
    }
    printf("%s\n", s);
    return 0;
}
本质上考了下我不太熟悉的if嵌套还有字符串,任重而道远啊~

标签:int,MAX,CP1023,大写,首字母,NUM,&&,include
From: https://www.cnblogs.com/harumakigohan686/p/17028512.html

相关文章