春天是鮮花的季節(jié),水仙花就是其中最迷人的代表,數(shù)學(xué)上有個(gè)水仙花數(shù),他是這樣定義的:?“水仙花數(shù)”是指一個(gè)三位數(shù),它的各位數(shù)字的立方和等于其本身,比如:153=1^3+5^3+3^3。?現(xiàn)在要求輸出所有在m和n范圍內(nèi)的水仙花數(shù)。?Input輸入數(shù)據(jù)有多組,每組占一行,包括兩個(gè)整數(shù)m和n(100<=m<=n<=999)。Output對(duì)于每個(gè)測(cè)試實(shí)例,要求輸出所有在給定范圍內(nèi)的水仙花數(shù),就是說(shuō),輸出的水仙花數(shù)必須大于等于m,并且小于等于n,如果有多個(gè),則要求從小到大排列在一行內(nèi)輸出,之間用一個(gè)空格隔開(kāi);如果給定的范圍內(nèi)不存在水仙花數(shù),則輸出no;?每個(gè)測(cè)試實(shí)例的輸出占一行。以上為題目,以下是我的代碼:#include<stdio.h>#include<string.h>int main(void){? ? int m,i,a,n,b,c,k;? ? while(scanf("%d%d",&n,&m)!=EOF)? ? {k=0;? ? ? ? for(i=n; i<=m; i++)? ? ? ? {? ? ? ? ? ? a=i%10;? ? ? ? ? ? b=i/10%10;? ? ? ? ? ? c=i/100;? ? ? ? ? ? if(a*a*a+b*b*b+c*c*c==100*c+10*b+a)? ? ? ? ? ? {? ? ? ? ? ? ? ? if(i<m)? ? ? ? ? ? ? ? ? ? printf("%d ",i);? ? ? ? ? ? ? ? if(i=m)? ? ? ? ? ? ? ? ? ? printf("%d",i);? ? ? ? ? ? ? ? k++;? ? ? ? ? ? }}if(!k)? ? printf("no");? ? printf("\n");}? ? return 0;}輸入100 900.輸出153 900但是正確的答案應(yīng)該是 153 370 371 407
1 回答
已采納

AAnonymous
TA貢獻(xiàn)62條經(jīng)驗(yàn) 獲得超31個(gè)贊
if(i=m) ????printf("%d",i); ???? //?這是一個(gè)賦值語(yǔ)句,運(yùn)行后,i?=?m?(即900),!=?0,?為?true,?輸出?i?值?(900)。循環(huán)判斷達(dá)到終止條件,循環(huán)結(jié)束
添加回答
舉報(bào)
0/150
提交
取消