c语言如何统计整数区间内每个数字出现的频率?

2026-04-16 18:552阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计442个文字,预计阅读时间需要2分钟。

c语言如何统计整数区间内每个数字出现的频率?

使用循环,如何找到整数区间 [n, m] 中每个数字的出现次数?

例如:输入 n, m=[19, 23]输出:0次出现:1次,1次出现:2次,2次出现:1次,3次出现:0次,... 等

步骤:

1.初始化一个长度为 m - n + 1 的列表,用于存储每个数字的出现次数。

2.遍历区间 [n, m] 中的每个数字。

3.对于每个数字,将其与列表中的数字进行比较。

4.如果找到匹配,则相应位置的增加计数。

5.输出每个数字的出现次数。

使用循环,如何找到整数区间[n,m]中每个数字的出现?

例如:

c语言如何统计整数区间内每个数字出现的频率?

> INPUT n,m = [19,23] = 19,20,21,22,23
>输出应该是:

0次出现:1次

1次出现:2次

2次出现:5次

3次出现:1次等

#include <iostream> using namespace std; int main() { int i, j, z, count, n, m; cin >>n >>m; for(int i=0; i<10; i++) // LOOP FOR DIGITS { cout << i <<"occurences: "; count=0; for(int j=n; j<m; j++) // LOOP INTEGER INTERVAL { while (z!=0) { z = j % 10; // LAST DIGIT OF FIRST NUMBER IN INTERVAL if (z == i) count++; z /= 10; } } cout << count <<" times"<< endl; } }

我的代码每个数字返回0次,错误在哪里?

您不需要在范围内循环10次.

int n, m; cin >> n >> m; counts = int[10]; for(int i = 0; i < 10; ++i) { counts[i] = 0; } for(int j = n; j <= m; j++) { int z = j; do { int digit = z % 10; // LAST DIGIT OF FIRST NUMBER IN INTERVAL counts[digit]++; z /= 10; } while (z != 0); } for(int i = 0; i < 10; ++i) { cout << i << " occurrences " << counts[i] << " times"; }

本文共计442个文字,预计阅读时间需要2分钟。

c语言如何统计整数区间内每个数字出现的频率?

使用循环,如何找到整数区间 [n, m] 中每个数字的出现次数?

例如:输入 n, m=[19, 23]输出:0次出现:1次,1次出现:2次,2次出现:1次,3次出现:0次,... 等

步骤:

1.初始化一个长度为 m - n + 1 的列表,用于存储每个数字的出现次数。

2.遍历区间 [n, m] 中的每个数字。

3.对于每个数字,将其与列表中的数字进行比较。

4.如果找到匹配,则相应位置的增加计数。

5.输出每个数字的出现次数。

使用循环,如何找到整数区间[n,m]中每个数字的出现?

例如:

c语言如何统计整数区间内每个数字出现的频率?

> INPUT n,m = [19,23] = 19,20,21,22,23
>输出应该是:

0次出现:1次

1次出现:2次

2次出现:5次

3次出现:1次等

#include <iostream> using namespace std; int main() { int i, j, z, count, n, m; cin >>n >>m; for(int i=0; i<10; i++) // LOOP FOR DIGITS { cout << i <<"occurences: "; count=0; for(int j=n; j<m; j++) // LOOP INTEGER INTERVAL { while (z!=0) { z = j % 10; // LAST DIGIT OF FIRST NUMBER IN INTERVAL if (z == i) count++; z /= 10; } } cout << count <<" times"<< endl; } }

我的代码每个数字返回0次,错误在哪里?

您不需要在范围内循环10次.

int n, m; cin >> n >> m; counts = int[10]; for(int i = 0; i < 10; ++i) { counts[i] = 0; } for(int j = n; j <= m; j++) { int z = j; do { int digit = z % 10; // LAST DIGIT OF FIRST NUMBER IN INTERVAL counts[digit]++; z /= 10; } while (z != 0); } for(int i = 0; i < 10; ++i) { cout << i << " occurrences " << counts[i] << " times"; }