编写C语言程序:输入一个英文句子,将每个单词的第一个字母改成大写字母后将每个单词逆序输出,输入为一行字符串s,表示英语句子,只包含一行,表示操作后的字符串
时间: 2023-06-20 19:04:19 浏览: 154
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void reverse_word(char *start, char *end) {
char tmp;
while (start < end) {
tmp = *start;
*start = *end;
*end = tmp;
start++;
end--;
}
}
int main() {
char s[1000];
fgets(s, 1000, stdin);
int len = strlen(s);
// 将每个单词的首字母变成大写字母
int i = 0;
while (i < len) {
// 找到单词的首字母
while (i < len && isspace(s[i])) {
i++;
}
if (i == len) {
break;
}
// 将首字母变成大写字母
s[i] = toupper(s[i]);
// 找到单词的末尾
int j = i + 1;
while (j < len && !isspace(s[j])) {
j++;
}
// 将单词逆序
reverse_word(&s[i], &s[j-1]);
i = j;
}
printf("%s", s);
return 0;
}
```
阅读全文