晚生才疏學淺,初來乍到,有很多問題,望與大家一起學習進步!
/*************************************************************************** * 2013年9月28 * All Rights Reserved,西華師大計算機學院 * 作 者:曾舜堯 * 問題描述:從文件中讀取兩個數,計算兩個數間隔內的約數最多的那個數(教材 Page 9) * 算法分析:窮舉法,對於給定的2個正整數,a<=b,計算a和b之間約數最多的數. * 數據輸入:從文件讀取2個正整數啊、和b. * 數據輸出:若找到的a和b之間約數個數最多的數是result,則將div(約數個數)輸出到文件 * 備注:因不會文件操作,此程序采用鍵盤輸入 **************************************************************************/ #include "stdio.h" int searchDivisor(int a) { int count=0; for(int i=1;i<=a;i++) { if(0==a%i) { count++; } } return count; } int main() { int a=0;//下界 int b=0;//上界 char tag='n';//繼續標記 int result=0;//目標數 int div=0;//約數個數 int temp=0;//臨時存儲 do{ printf("請輸入兩個合法數:"); scanf("%d%d",&a,&b); if(a<0||b<0) { printf("輸入錯誤!\n"); return 0; } for(;a<=b;a++) { temp=searchDivisor(a); if(temp>div) { div=temp; result=a; } } printf("數%d有%d個約數!\n",result,div); //stdin.flush(); printf("是否繼續(y/n):"); scanf("%c",&tag); } while('y'==tag||'Y'==tag); return 0; }
/*注釋*/
小弟對文件操作很是畏懼,望大師賜教!
本文出自 “理論先行實踐並重” 博客,請務必保留此出處http://69680919.blog.51cto.com/4896756/1303194