编写一个程序,读人至多100个1~100之间的整数,数出每个数出现的次数。 假定输入以0结束
时间: 2024-04-29 13:22:43 浏览: 11
```python
nums = []
freq = [0] * 101 # 初始化频次数组,下标0~100
# 读入数据
while True:
num = int(input())
if num == 0:
break
nums.append(num)
# 统计频次
for num in nums:
freq[num] += 1
# 输出结果
for i in range(1, 101):
if freq[i] > 0:
print("{}出现了{}次".format(i, freq[i]))
```
注:以上程序中,使用了列表(list)和格式化字符串(format)的知识点。
相关问题
用C++编写一个程序,读人至多100个1~100之间的整数,数出每个数出现的次数。 假定输入以0结束
```c
#include <stdio.h>
#define MAXNUM 100
int main() {
int nums[MAXNUM + 1] = {0}; // 初始化每个数出现的次数为0
int num, i;
printf("请输入1~100之间的整数,以0结束:\n");
do {
scanf("%d", &num);
if (num >= 1 && num <= 100) { // 判断输入的数是否在范围内
nums[num]++; // 对应数的出现次数加1
}
} while (num != 0);
printf("每个数出现的次数如下:\n");
for (i = 1; i <= MAXNUM; i++) {
if (nums[i] != 0) { // 只输出出现过的数
printf("%d出现了%d次\n", i, nums[i]);
}
}
return 0;
}
```
输入两个不同的整数,请问进行至多三次加减乘运算后,在此过程中能得到多少个不同的数,输出数的数量。
假设输入的两个数分别为$a$和$b$,我们可以列出所有可能的运算组合:
1. $a+b$
2. $a-b$
3. $b-a$
4. $a\times b$
5. $b\times a$
6. $a+b\times b$
7. $a-b\times b$
8. $b-a\times b$
9. $a\times b+b$
10. $a\times b-b$
11. $a\times b-a$
12. $b\times a+b$
13. $b\times a-a$
14. $b\times a-b$
15. $a+b+a$
16. $a+b-b$
17. $a+b\times a$
18. $a-b+a$
19. $a-b-b$
20. $a-b\times a$
21. $b-a+a$
22. $b-a-b$
23. $b-a\times a$
24. $b\times a+a$
25. $b\times a-a$
26. $b\times a\times a$
将以上所有结果进行去重,得到不同的数的数量。具体的计算过程可以使用编程语言实现,也可以手动计算。