解题·全程不开数组!
2026-08-01 12:39:18
发布于:江苏
16阅读
0回复
0点赞
这道题让我们数单个数字出现个数
思路很简单。
我们先给0~9的数字个定义一个变量,⚠️注意:要定义全局变量,以便函数使用而且还初始化为0。
int _1, _2, _3, _4, _5, _6, _7, _8, _9, _0;
定义a、b和临时变量vis。
int a, b;
int vis;
循环变量每一个数字并调用函数count。
for(int i = a; i <= b; i++) count(i);
下面👇是重点📌:函数count。
通过数位分离,再用内置函数switch累加
void count(int n){
while(n){
switch(n % 10){
case 1 : _1++; break;
case 2 : _2++; break;
case 3 : _3++; break;
case 4 : _4++; break;
case 5 : _5++; break;
case 6 : _6++; break;
case 7 : _7++; break;
case 8 : _8++; break;
case 9 : _9++; break;
case 0 : _0++; break;
}
n /= 10;
}
}
总结(全代码)
#include<iostream>
using namespace std;
int _1, _2, _3, _4, _5, _6, _7, _8, _9, _0;
void count(int n){
while(n){
switch(n % 10){
case 1 : _1++; break;
case 2 : _2++; break;
case 3 : _3++; break;
case 4 : _4++; break;
case 5 : _5++; break;
case 6 : _6++; break;
case 7 : _7++; break;
case 8 : _8++; break;
case 9 : _9++; break;
case 0 : _0++; break;
}
n /= 10;
}
}
int main(){
int a, b;
cin >> a >> b;
int vis;
for(int i = a; i <= b; i++) count(i);
cout << _0 << ' ' << _1 << ' ' << _2 << ' ' << _3 << ' ' << _4 << ' ' << _5 << ' ' << _6 << ' ' << _7 << ' ' << _8 << ' ' << _9;
return 0;
}
这里空空如也







有帮助,赞一个