统计数字问题
2013-09-28 21:05
246 查看
/*************************************************************************** * 日期: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; }