View Code of Problem 107

#include<stdio.h>
#include<stdlib.h>
int main(){
	int M,N,i;
	while(scanf("%d %d",&M,&N)!=EOF){
		int b[10]={0};
		for(i=M;i<=N;i++){
			char a[10]={0};
			int j=0,k;
			k=i;
			while(k){//将数字转换成字符并保存 
				a[j]=k%10+'0';
				j++;
				k=k/10;
			}
			for(j=0;a[j]!='\0';j++){
				switch(a[j]){
					case '0':b[0]++;break;
					case '1':b[1]++;break;
					case '2':b[2]++;break;
					case '3':b[3]++;break;
					case '4':b[4]++;break;
					case '5':b[5]++;break;
					case '6':b[6]++;break;
					case '7':b[7]++;break;
					case '8':b[8]++;break;
					case '9':b[9]++;break;
					default :break;
				}
			}	 
		}
		
		for(i=0;i<10;i++){
			printf("%d",b[i]);
			if(i!=9) printf(" ");
		}
		printf("\n");
	}
}

Double click to view unformatted code.


Back to problem 107