编写C语言程序:输入一个英文句子,将每个单词的第一个字母改成大写字母后将每个单词按相反的顺序输出(不将单词反转),输入为一行字符串s,表示英语句子,只包含一行,表示操作后的字符串
时间: 2023-06-20 12:04:14 浏览: 93
以下是一个简单的 C 语言程序,可以实现该功能:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAX_LEN 1000 // 定义字符串最大长度
int main() {
char s[MAX_LEN];
fgets(s, MAX_LEN, stdin); // 从标准输入读取字符串
int len = strlen(s);
// 将每个单词的首字母变成大写
for (int i = 0; i < len; i++) {
if (i == 0 || isspace(s[i - 1])) {
s[i] = toupper(s[i]);
}
}
// 将每个单词按相反的顺序输出
for (int i = len - 1; i >= 0; i--) {
if (i == 0 || isspace(s[i - 1])) {
int j = i;
while (j < len && !isspace(s[j])) {
putchar(s[j]);
j++;
}
putchar(' ');
}
}
return 0;
}
```
该程序首先从标准输入(即键盘输入)读取一个字符串,然后将每个单词的首字母变成大写,最后按相反的顺序输出每个单词。其中,`isspace()` 函数用于判断一个字符是否为空格,`toupper()` 函数用于将一个字符变成大写字母,`putchar()` 函数用于输出一个字符。
阅读全文