编写程序,从键盘输入字符串tt,其中包含若干个以空格分隔的单词,将每个单词的首字符改为对应的大写字母。例如,若输入字符串:"ab cD bOYxy!",则输出字符串为:"Ab CD BOYxy!"
时间: 2023-04-07 08:01:35 浏览: 66
可以回答这个问题。以下是代码实现:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char tt[100];
fgets(tt, 100, stdin); // 从键盘输入字符串
int i = 0;
while (tt[i] != '\0') {
if (isalpha(tt[i])) { // 如果当前字符是字母
tt[i] = toupper(tt[i]); // 将其转换为大写字母
while (isalpha(tt[i+1])) { // 将其后的所有字母转换为小写字母
tt[i+1] = tolower(tt[i+1]);
i++;
}
}
i++;
}
printf("%s", tt); // 输出结果
return 0;
}
```
相关问题
C语言编写程序,从键盘输入字符串tt,其中包含若干个以空格分隔的单词,将每个单词的首字符改为对应的大写字母。例如,若输入字符串:"ab cD bOYxy!",则输出字符串为:"Ab CD BOYxy!"
可以回答这个问题。以下是C语言代码实现:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char tt[100];
fgets(tt, 100, stdin); // 从键盘输入字符串
int i = 0;
while (tt[i] != '\0') {
if (isalpha(tt[i])) { // 如果是字母
tt[i] = toupper(tt[i]); // 转换为大写字母
while (isalpha(tt[i+1])) { // 找到单词的结尾
i++;
}
}
i++;
}
printf("%s", tt); // 输出字符串
return 0;
}
```
本题目要求编写程序,输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出已输入的字符,其中所有单词的首字母已改为大写。
输入样例:
hello world here i come
输出样例:
Hello World Here I Come
【样例说明】:原字符串中有3个单词,分别为"hello"、"world"和"here i come",将它们的首字母改为大写后,得到的新字符串为"Hello World Here I Come"
阅读全文