使用循环和选择语句,从键盘接收一句话,计算一共有几个字符和单词
时间: 2023-06-02 14:01:42 浏览: 46
请问您需要Python还是Java代码呢?这里提供Python代码:
```python
sentence = input("请输入一句话:")
char_count = len(sentence) # 统计字符总数
word_count = 0 # 初始化单词计数器
if sentence != "": # 判断输入是否为空
word_count = 1 # 第一个单词
for i in range(len(sentence)):
if sentence[i] == " ":
word_count += 1 # 遇到空格,单词计数器加1
print("字符数:", char_count)
print("单词数:", word_count)
```
运行结果:
```
请输入一句话:Hello world!
字符数: 12
单词数: 2
```
相关问题
使用循环和选择语句,从键盘上接受一句话,计算一共有几个字符和单词。单词间用空格或者标点符号分隔,最终输出结果,要求有功能菜单,含退出功能
非常感谢你的问题,以下是C知道的回答:
可以使用循环和选择语句,从键盘接收一句话,计算字符数和单词数。可以考虑使用以下步骤:
1.提示用户输入一句话。
2.使用fgets()函数从标准输入stdin接收输入的句子。
3.使用strlen()函数计算输入的句子的字符数,包括空格和标点符号。
4.使用strtok()函数将输入的句子分解为单个单词,并使用计数器计算单词数。
5.输出字符数和单词数。
以下是一个参考代码:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_LEN 100
int main() {
char sentence[MAX_LEN];
char *word;
int count_char, count_word;
int choice;
while (1) {
printf("请输入一句话:");
fgets(sentence, MAX_LEN, stdin);
sentence[strlen(sentence)-1] = '\0';
count_char = strlen(sentence);
count_word = 0;
word = strtok(sentence, " ,.!?");
while (word != NULL) {
count_word++;
word = strtok(NULL, " ,.!?");
}
printf("输入的句子中有 %d 个字符和 %d 个单词。\n", count_char, count_word);
printf("请选择:1.继续 2.退出\n");
scanf("%d", &choice);
getchar();
if (choice == 2) {
break;
}
}
return 0;
}
```
请注意,这只是一个示例,并且可能需要一些修改以适合您的具体需求。
用while语句从键盘输入10个整数计算并输出10个数的和、平均值
好的,下面是使用C语言的while循环实现的代码:
```c
#include <stdio.h>
int main() {
int nums[10];
int sum = 0;
int count = 0;
// 读入10个整数
printf("请输入10个整数:\n");
while (count < 10) {
scanf("%d", &nums[count]);
sum += nums[count];
count++;
}
// 计算平均值并输出
double avg = (double) sum / 10;
printf("这10个数的和为%d,平均值为%.2f\n", sum, avg);
return 0;
}
```
以上代码中,我们使用了一个while循环来读入10个整数。循环的条件是计数器count小于10,每次循环读入一个整数,并且累加到sum中,同时计数器count加1。最后,我们将总和除以10,得到平均值并输出。这样就完成了从键盘输入10个整数计算并输出10个数的和、平均值的任务。