合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、题目描述 ⭐️
习题6-8 单词首字母大写
本题目要求编写程序,输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出已输入的字符,其中所有单词的首字母已改为大写。
输入样例:
How are you?
输出样例:
How Are You?
二、代码(C语言)⭐️
#include <stdio.h> // 引入标准输入输出库,用于使用 printf 和 fgets 等函数
#include <ctype.h> // 引入字符处理库,用于使用 isspace 和 toupper 函数
int main() {
char strs[1000]; // 定义一个字符数组 strs,用于存储输入的字符串
int i = 0; // 初始化计数器 i,用于遍历字符串
// 从标准输入读取一行字符串,存储到 strs 中
fgets(strs, sizeof(strs), stdin);
// 遍历字符串 strs
while (strs[i] != '\0') { // 当 strs[i] 不是字符串结束符 '\0' 时,继续循环
// 如果当前字符是单词的首字母(前一个字符是空格或字符串开头)
if (i == 0 || isspace(strs[i - 1])) {
strs[i] = toupper(strs[i]); // 将首字母转换为大写
}
i++; // 计数器 i 递增,移动到下一个字符
}
// 输出处理后的字符串
printf("%s", strs);
return 0; // 程序正常结束
}