近来在洛谷上刷题,发现了一些问题,就是答案里少有c语言的解析,几乎都是c++,对于初学者来说看起来不容易看懂,并且即使看懂了思路,也会因为语法的不同而出现一些问题,导致没法通过,于是我就将自己写的答案分享出来,希望能帮到一些初学者。(本人也是初学者,可能代码有些地方写的不够简练,多多包涵,也欢迎各位指出我写的不够好的地方)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int m = 0, n = 0;//定义并初始化m和n
scanf("%d %d", &m, &n);//输入m和n
int i = 0;
int x = 0, y = 0;//x为商,y为余数
int num[10] = { 0 };//定义一个数组来保存输出结果
for (i = m; i <= n; i++)//从m开始对每个数字进行判断
{
x = i;
while (x != 0)//对数字每一位判断
{
y = x % 10;
x = x / 10;
if (y == 0)
num[0]++;
else if (y == 1)
num[1]++;
else if (y == 2)
num[2]++;
else if (y == 3)
num[3]++;
else if (y == 4)
num[4]++;
else if (y == 5)
num[5]++;
else if (y == 6)
num[6]++;
else if (y == 7)
num[7]++;
else if (y == 8)
num[8]++;
else if (y == 9)
num[9]++;
}
}
for (i = 0; i <= 9; i++)//打印结果
{
printf("%d ", num[i]);
}
return 0;
}