输入一个正整数n(1≤n≤1000),统计从1到n之间(包含1和n)所有正整数中,0,1,2,3,4,5,6,7,8,9的数字分别出现的次数,且按样例分行输出(按0到9顺序输出,英文逗号前为0到9的数字,逗号后为该数字出现的次数)。 例如:n为12,那么1到n之间所有的正整数有1,2,3,4,5,6,7,8,9,10,11,12。 在12个正整数中数字0出现了1次,数字1出现了5次,数字2出现了2次,数字2,3,4,5,6,7,8,9分别出现了1次。
时间: 2023-08-18 14:10:36 浏览: 992
好的,我明白了。下面是代码实现:
```python
n = int(input()) # 输入正整数n
# 初始化0到9的数字出现次数为0
count = [0] * 10
# 统计数字出现次数
for i in range(1, n+1):
for j in str(i):
count[int(j)] += 1
# 按样例输出结果
for i in range(10):
print(i, ',', count[i])
```
输入样例:
```
12
```
输出样例:
```
0 , 1
1 , 5
2 , 2
3 , 1
4 , 1
5 , 1
6 , 1
7 , 1
8 , 1
9 , 1
```
相关问题
C++代码实现输入一个正整数n(1≤n≤1000),统计从1到n之间(包含1和n)所有正整数中,0,1,2,3,4,5,6,7,8,9的数字分别出现的次数,且按样例分行输出(按0到9顺序输出,英文逗号前为0到9的数字,逗号后为该数字出现的次数)。 例如:n为12,那么1到n之间所有的正整数有1,2,3,4,5,6,7,8,9,10,11,12。 在12个正整数中数字0出现了1次,数字1出现了5次,数字2出现了2次,数字2,3,4,5,6,7,8,9分别出现了1次。
好的,下面是C++代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
// 初始化0到9的数字出现次数为0
int count[10] = {0};
// 统计数字出现次数
for (int i = 1; i <= n; i++) {
int num = i;
while (num) {
count[num % 10]++;
num /= 10;
}
}
// 按样例输出结果
for (int i = 0; i < 10; i++) {
cout << i << " , " << count[i] << endl;
}
return 0;
}
```
输入样例:
```
12
```
输出样例:
```
0 , 1
1 , 5
2 , 2
3 , 1
4 , 1
5 , 1
6 , 1
7 , 1
8 , 1
9 , 1
```
C语言输入一个正整数n(1≤n≤6),再输入一个n行n列的矩阵,统计并输出该矩阵中非零元素的个数、
好的,下面是实现该功能的C语言代码:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数n(1~6): ");
scanf("%d", &n);
int matrix[n][n];
// 输入n行n列的矩阵
printf("请输入%d行%d列的矩阵:\n", n, n);
int count = 0; // 非零元素的个数
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
if (matrix[i][j] != 0) {
count++;
}
}
}
printf("非零元素的个数为:%d\n", count);
return 0;
}
```
首先,程序会提示用户输入一个正整数n,然后定义一个n行n列的矩阵,并使用双重循环输入矩阵的每个元素。在输入的过程中,如果当前输入的元素不为0,就将非零元素的个数加1。最后,程序输出非零元素的个数。注意,输入的矩阵元素可以是任意整数,包括负数。
阅读全文