★題目97 (回文數(shù)問題)
下列程序的功能是:尋找并輸出11至999之間的數(shù)m,它滿足m,m2和m3均為回文數(shù)。所謂回文數(shù)是指其各位數(shù)字左右對稱的整數(shù),例如121,676,94249等。滿足上述條件的數(shù)如m=11,m2=121,m3=1331皆為回文數(shù)。請編制函數(shù)int svalue(long m)實現(xiàn)此功能,如果是回文數(shù),則函數(shù)返回1,反之則返回0。最后把結(jié)果輸出到文件out.dat中。
int jsValue(long n)
{int i,strl,half;
char xy[20];
ltoa(n,xy,10); /*注意這里不能使用itoa()函數(shù),因為n是long 型的*/
strl=strlen(xy);
half=strl/2;
for(i=0;i if(xy[i]!=xy[--strl]) break; if(i>=half) return 1; else return 0; } 或者下面的解法: int jsValue(long n) {long int s=0,k; k=n; while(k) { s=s*10+k%10; k/=10; } if(s==n) return 1; if(s!=n) return 0; } 輸出結(jié)果為: m= 11,m*m= 121,m*m*m= 1331 m= 101,m*m= 10201,m*m*m= 1030301 m= 111,m*m= 12321,m*m*m= 1367631 ************************************************************************* ★題目98(出圈題) (本題采用實際上機題,05年9月和04年9月實際上機題與下面相同) 設(shè)有n個人圍坐一圈并按順時針方向從1到n編號,從第s個人開始進行1到m的報數(shù), 報數(shù)到第m個人, 此人出圈, 再從他的下一個人重新開始1到m的報數(shù),如此進行下去直到所有的人都出圈為止,F(xiàn)要求按出圈次序,給出這n個人的順序表p。請考生編制函數(shù)Josegh()實現(xiàn)此功能并調(diào)用函數(shù)WriteDat()把編號按照出圈的順序輸出到OUT.DAT文件中。 注意:第1個出圈的編號存放在p[0]中,第2個出圈的編號存放在p[1]中,直至第n個出圈的編號存放在p[n-1]中。 設(shè) n = 100, s = 1, m = 10進行編程。 void Josegh(void) { int i,j,s1,w,q[100]; for(i=0;i s1=s; for(i=1; i<=n; i++) p[i-1]=i; for(i=n; i>=2; i--) { s1=(s1+m-1)%i; if(s1==0) s1=i; w=p[s1-1]; for(j=s1; j
p[i-1]=w; } for(i=0,j=n-1;i for(i=0;i p[i]=q[i]; } ☆題目99(SIX/NINE問題) 下列程序prog1.c的功能是:計算出自然數(shù)SIX和NINE,它們滿足的條件是SIX+SIX+SIX=NINE+NINE的個數(shù)cnt以及滿足此條件所有的SIX與NINE的和SUM。請編寫函數(shù)countValue()實現(xiàn)程序的要求,最后調(diào)用函數(shù)writeDat()把結(jié)果cnt和sum,輸出到文件OUT15.DAT中。 其中的S,I,X,N,E各代表一個十進制數(shù)字。 部分源程序存在文件prog1.c中。 請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。 #include int cnt,sum; void countValue() { int s,i,x,n,e,six,nine; for(s=1;s<10;s++) for(i=0;i<10;i++) for(x=0;x<10;x++) for(n=1;n<10;n++) for(e=0;e<10;e++) { six=s*100+i*10+x; nine=n*1000+i*100+n*10+e; if(3*six==2*nine) { cnt++;sum+=six+nine;} } }
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |