请用c语言实现一段代码具有以下功能:输入英语句子,单词之间用空格、逗号和句号分隔,如果有两个及以上的单词连续出现首字母大写,那就输出这些单词的大写字母直到下一个单词首字母不是大写,每输出一段连续的大写字母后另起一行
时间: 2024-03-23 22:41:12 浏览: 54
好的,根据您的要求,我已经为您编写了以下C语言代码:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char sentence[1000];
printf("请输入英语句子:");
fgets(sentence, 1000, stdin);
int i = 0;
int count = 0;
while (sentence[i] != '\0') {
if (isupper(sentence[i])) {
count++;
while (isupper(sentence[i])) {
putchar(sentence[i]);
i++;
}
putchar('\n');
} else if (isalpha(sentence[i])) {
count = 0;
while (isalpha(sentence[i])) {
putchar(sentence[i]);
i++;
}
putchar(' ');
} else {
count = 0;
putchar(sentence[i]);
i++;
}
}
return 0;
}
```
代码实现的主要思路是遍历输入的句子,判断当前字符是否为大写字母、字母或其他字符,并根据不同情况进行相应的处理,输出大写字母时需要每输出一段连续的大写字母后另起一行。
阅读全文