1057第四届程序设计大赛 统计数字

来源:互联网 发布:mysql安装教程mac 编辑:程序博客网 时间:2024/05/24 07:39
#include <stdio.h>/*作者: 厦门理工学院    计算机与信息工程学院 FnLock时间:2017年11月11日21:17:01 程序描述: 第四届程序设计大赛 统计数字Time Limit:1000MS  Memory Limit:65536KTotal Submit:436 Accepted:201Description对于一本共有n页的书,书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6页用数字6表示,而不是06或006等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2,…,9。 给定表示书的总页码的10进制整数n,编程计算书的全部页码中分别用到多少次数字0,1,2,…,9。 Input只有1行,给出表示书的总页码的整数n ( 1 <= n <= 100)Output输出共有10行,分别表示0,1,2,…,9出现的次数。Sample Input11Sample Output1411111111Source*/ //将数组中的每一个元素赋值为0 void arrZero(int arr[]){    int i;    for(i=0;i<10;i++)    {        arr[i]=0;    }}//打印数组 void arrPrint(int arr[],int n){    int i;    for(i=0;i<10;i++)    {        printf("%d\n",arr[i]);    }}int main(void){    int n;    scanf("%d",&n);//输入书有几页     int arr[10];//定义一个整形数组来记录数字出现次数     arrZero(arr);//将数组中的每一个元素赋值为0     int i,j;    int temp;    for(i=1;i<=n;i++)    {        j=i;        while(j>0)        {            temp=j%10;            j/=10;            switch(temp)//看看当前数字是几             {           //相应加一                 case 0: arr[0]++; break;                case 1: arr[1]++; break;                case 2: arr[2]++; break;                case 3: arr[3]++; break;                case 4: arr[4]++; break;                case 5: arr[5]++; break;                case 6: arr[6]++; break;                case 7: arr[7]++; break;                case 8: arr[8]++; break;                case 9: arr[9]++; break;            }        }    }    arrPrint(arr,n);//打印数组     return 0; } 
阅读全文
0 0
原创粉丝点击