用数组的形式帮我写一个统计数字的代码
时间: 2023-03-28 12:03:10 浏览: 62
好的,以下是一个统计数字的代码,使用了数组的形式:
#include <stdio.h>
int main() {
int nums[10] = {}; // 初始化数组,每个元素都为
int num;
printf("请输入一串数字:\n");
while (scanf("%d", &num) != EOF) { // 循环读入数字,直到输入结束
if (num >= && num <= 9) { // 判断数字是否在~9之间
nums[num]++; // 对应数字的计数器加1
}
}
printf("数字统计结果如下:\n");
for (int i = ; i < 10; i++) { // 遍历数组,输出每个数字的出现次数
printf("%d出现了%d次\n", i, nums[i]);
}
return ;
}
相关问题
定义一个数组存储n个整数,并统计n个正整数组成的序列中连续相同数字的段数。 【输入形式】先输入一个正整数n,再依次输入n个正整数 【输出形式】输出段数
好的,这是一个关于数组的计数问题,我可以帮你解决。以下是一个可能的实现代码,你可以参考一下:
```python
n = int(input()) # 输入正整数n
arr = list(map(int, input().split())) # 输入n个正整数并存储到数组中
count = 1 # 初始化为1,因为第一个数字也是一段
for i in range(1, n):
if arr[i] != arr[i-1]: # 如果当前数字与前一个数字不同,则新开一段
count += 1
print(count) # 输出段数
```
这个代码的思路是遍历整个数组,如果当前数字与前一个数字不同,则新开一段,并将段数加1。最后输出段数即可。
【问题描述】定义一个数组存储n个整数,并统计n个正整数组成的序列中连续相同数字的段数。 【输入形式】先输入一个正整数n,再依次输入n个正整数 【输出形式】输出段数 【样例输入】 9 1 1 1 4 2 2 0 5 5 【样例输出】 5
以下是这道题的C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int count = 1;
for (int i = 1; i < n; i++) {
if (arr[i] != arr[i-1]) {
count++;
}
}
cout << count;
return 0;
}
```
解释如下:
首先,我们读入一个正整数 `n`,表示接下来将输入 `n` 个正整数。
我们使用一个 `int` 类型的数组 `arr` 来存储这 `n` 个正整数,然后通过循环读入这 `n` 个正整数。
接下来,我们定义一个变量 `count` 来记录连续相同数字的段数,并初始化为 `1`。因为第一个数字本身也算是一个连续相同数字的段。
然后,我们从数组的第二个元素开始循环,判断当前元素是否等于上一个元素。如果不相等,说明当前元素开始了一个新的连续相同数字的段,我们将 `count` 的值加 `1`。
最后,输出 `count` 的值即可。
以上就是这道题的解法。
阅读全文