CP1023 单词首字母大写
一道卡了我好几天的题目(题干绝不是你看起来的这么简单,因为并不是简单的空格判定)
我的做法:
#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嵌套还有字符串,任重而道远啊~
posted on 2023-01-05 18:01 harumakigohan 阅读(24) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理