一本书的页码从自然数1开始编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。
*输入:n
输出:共十行,分别为0-9出现的次数。
1.暴力法
#include<stdio.h>
int main()
{
int n,a[10]= {0},j,m,i;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
j=i;
while(j)
{
m=j%10;
a[m]++;
j=j/10;
}
}
for(i=0; i<10; i++)
printf("%d ",a[i]);
return 0;
}
一说到暴力法很多人都会直接想到for循环一直循环,导致代码会很长,但若用一个while,将会大大缩短代码的长度。
2.区间法
#include<stdio.h>
#include<math.h>
int main()
{
int a[10]= {0},b[10]= {0},n,m,i=1,k=0,j,h,p,sum;
scanf("%d",&n);
while(n!=0)
{
m=n%10;
a[i]=m;
n/=10;
k++;