7-1 统计单词的数量并输出单词的最后一个字符 分数 15 作者 颜晖 单位 浙大城市学院 本题目要求编写程序,统计一行字符中单词的个数,并将每个单词的最后一个字符输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。C++实现
时间: 2023-12-18 08:56:39 浏览: 897
将英文单词首字母转为大写输出的C程序
以下是C语言的实现代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
int wordCount = 0;
printf("请输入一行字符:\n");
while ((c = getchar()) != '\n') {
if (isalpha(c)) { // 如果是字母
if (wordCount == 0) { // 如果是单词的第一个字母
printf("单词%d的最后一个字符是:", ++wordCount);
}
putchar(c); // 输出字母
} else if (wordCount != 0) { // 如果是空格且之前有单词
printf(" %c\n", c); // 输出单词的最后一个字符
wordCount = 0; // 重置单词计数器
}
}
// 处理最后一个单词
if (wordCount != 0) {
printf(" %c\n", c);
}
return 0;
}
```
在程序中,我们使用 `getchar()` 读入字符,并利用 `isalpha()` 判断当前字符是否是字母。如果是字母,则说明当前处于一个单词中,我们记录单词计数器 `wordCount`,并输出单词的最后一个字符。如果不是字母,则说明当前处于单词之间的空格,我们判断之前是否有单词,若有则输出单词的最后一个字符,重置单词计数器。最后,我们还需要处理最后一个单词,如果存在则输出其最后一个字符。
阅读全文