ZZULIOJ 1136: 首字母变大写

题目描述:

输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。
输入
输入一个长度不超过100的英文句子。
输出
请输出按照要求改写后的英文句子。
样例输入 Copy
i like ACM
样例输出 Copy
I Like ACM

源码:
#include<stdio.h>
#include<string.h> //使用strlen方法所需要的库函数
int main(){
char str[100]; //定义一个数组存放即将输入的字符串
gets(str); //字符串输入
int length=strlen(str); //strlen方法获取字符串长度
if(str[0]>=‘a’&&str[0]<=‘z’){ //首字母需要单独判断
str[0]=str[0]-32;
}
for(int i=0;i<length-1;i++){ //如果发现空格,并且接下来的单词首字母为小写,则根据ASCLL表转化为大写
if(str[i]==’ '&&str[i+1]>=‘a’&&str[i+1]<=‘z’){
str[i+1]=str[i+1]-32;
}
}
for(int i=0;i<length;i++){ //打印转化后的数组
printf("%c",str[i]); //注意输出类型使用%c
}
return 0;
}

总结:
本题难度不大,重点考察了对字符串的逻辑分析以及对临界数据的操作。
需要掌握:

  1. #include<stdio.h>库函数的strlen方法来获取字符串长度.
    2)熟记ASCLL表对应元素的十进制数值,以及相关差值,如a–>z 对应97–>122,A->Z对应65–>90,对应相差32.

喜欢就关注吧!今后会持续更新!我们一起进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值