帮我用C++写一个输入n 和n个整数,统计每个数的出现次数,输出若干行,从小到大输出每个数。 每一行为两个数,中间用一个空格隔开,分别表示数字本身,以及出现的次数。的代码
时间: 2023-03-23 07:01:10 浏览: 133
好的,以下是输入n和n个整数,统计每个数的出现次数,输出若干行,从小到大输出每个数的C代码:
```
#include <stdio.h>
int main() {
int n, num[1001] = {0}; // num数组用于记录每个数字出现的次数,初始化为0
scanf("%d", &n);
for (int i = 0; i < n; i++) {
int x;
scanf("%d", &x);
num[x]++;
}
for (int i = 0; i <= 1000; i++) {
if (num[i] != 0) {
printf("%d %d\n", i, num[i]);
}
}
return 0;
}
```
以上代码可以实现输入n和n个整数,统计每个数的出现次数,输出若干行,从小到大输出每个数。
相关问题
读入若干整数 以-9999结束,再以从小到大次序输出,每行10个元素
可以使用一个列表来存储输入的整数,然后使用内置函数 `sorted()` 对列表进行排序,最后按照题目要求输出即可。具体实现如下:
```python
nums = []
while True:
num = int(input())
if num == -9999:
break
nums.append(num)
nums = sorted(nums)
for i in range(len(nums)):
if i > 0 and i % 10 == 0:
print()
print(nums[i], end=' ')
```
首先我们定义了一个空列表 `nums` 来存储输入的整数,然后通过一个无限循环来不断读入整数,直到读入的整数为 -9999 时跳出循环。在循环内部,我们将每个读入的整数添加到 `nums` 列表中。
接着,我们使用 `sorted()` 函数对 `nums` 列表进行排序,将它们从小到大排列。然后我们使用一个循环来遍历排序后的列表,如果当前遍历到的元素是第10个,那么我们就输出一个空行。最后,我们在每个元素之间输出一个空格,以满足题目要求。
用c++写:给定一个正整数 ,请将它分解为质数的乘积。若干整数表示 的素因子,按照从小到大的顺序输出
以下是用 C++ 实现的代码:
```c++
#include <iostream>
using namespace std;
void divide(int n) {
cout << n << "=";
for (int i = 2; i <= n; i++) {
while (n % i == 0 && n != i) {
cout << i << "*";
n /= i;
}
if (n == i) {
cout << i;
break;
}
}
}
int main() {
int n;
cin >> n;
divide(n);
return 0;
}
```
代码思路:
首先输入一个正整数 n,然后从 2 开始循环判断,如果 n 能够整除 i,则将 i 输出,并将 n 除以 i,直到 n 不再能够整除 i。最后如果 n 等于 i,则将 i 输出。
输出时按照题目要求,每个素因子后面需要加上一个 * 号,除了最后一个素因子之外。