统计数字问题

/***************************************************************************
* 日期:2013年9月28
* All Rights Reserved,西华师大计算机学院
* 作者:曾舜尧
* 问题:数字计数问题要求给定书的总页码,计算出书的全部页码中分别
*       用到多少次数字0,...,9(教材 Page 8)
* 输入:从文件中一个数,给出表示书的总页码数的整数page
* 输出:将结果输出到文件。输出文件共有10行,在第k行输出用到的k-1的次数,k=1,2,..9。
* 分析:穷举法
* 备注:因不会文件操作,此程序采用键盘输入
**************************************************************************/
#include "stdio.h"
int pa[10]={0};//记录数组
/*计算次数*/
void div(int num)
{
    int count=num%10;
    pa[count]++;
    if(num<10)
        return ;
    div(num/10);
}
/*遍历页码*/
void computer(int page)
{
    int i=0;
    for(i=1;i<=page;i++)
    {
        div(i);
    }
    return ;
}
/*检验合法*/
/*输出*/
/*主函数*/
int main()
{
    int page=0;
    int i=0;
    printf("请输入页码:");
    scanf("%d",&page);
    /*检验合法*/
    if(page<=0)
    {
        printf("输入数据不合法!\n");
        return 0;
    }
    computer(page);
    /*输出结果*/
    for(i=0;i<=9;i++)
        printf("%d出现%d次\n",i,pa[i]);
    return 0;
}


你可能感兴趣的:(C++,c)