/*************************************************************************** * 日期: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; }
本文出自 “理論先行實踐並重” 博客,請務必保留此出處http://69680919.blog.51cto.com/4896756/1303188