c語言程式設計

時間 2022-06-04 17:20:08

1樓:

1全部#include

int main(void)

}return 0;

}你對水仙花的數理解錯了,水仙花數是指數的每位作為底數,數的位數作為指數然後相加,如果和原來的數相等就為水仙花數,我不知道你如何能想到:

b=a%10;

a=a/10;

s=s+b*b*b;

如果s相等於a就是水仙花數的...

想象看假如現在的i為153,像你那樣b=a%10=3,a=a/10=15.s+b*b*b=27,可以看到27和15是不等的,所以按你的演算法哎說153不是水仙花數,但是153確實是一個水仙花數,只能說明的演算法有問題.(注意:

你的s=s+b*b*b;寫在打迴圈裡面就會不停的累積,所以你那個s會越來越大,因為你沒有吧每次從的s重置,我在上面說的沒有記那些累積,因為我看有很多人回答讓你把s每次都重記0,但是那樣也不行.因為你的演算法有問題.)還有就是printf("%3d",i);i前要有取地址符,那是個長整形,不是指標.

2樓:秋天來了仔陳

s要清零,不然都累加到一起了

#include

int main(void)

if(s==i)

printf("%d ",i);

}return 0;}

3樓:匿名使用者

程式改為:

#include

int main(void)

if(s==i) //while迴圈後a的值已經變化了,s!=aprintf("%3d\n",i);

}return 0;}

4樓:匿名使用者

#include

main()

if(s==i)

printf("%3d ",i);

s=0;}

system("pause");

return 0;

}每次大迴圈後要把s重新歸0,而且if(s==i)不是等於a,因為a已經在前面的語句中變化了

5樓:匿名使用者

#include

using namespace std;

int main()

return 0;}

c語言程式設計,c語言 程式設計

陣列的下標是從0開始的 假如陣列a裡有三個元素,這三個元素可以表示成a 0 a 1 a 2 陣列的大小是根據你定義時確定下來的 有3中定義方法 1 int a 100 2 int a new int 100 3 int a 第一種定義直接給他分配了100個空間的記憶體,第二個也是,第三個是根據後面陣...

C語言程式設計,c語言程式設計

一分鐘讀懂。c語言程式設計。c語言程式設計 一分鐘讀懂。c語言程式設計。可以的,按照你的要求程式設計好。太多了,可以具體一下是需要哪個嗎。c語言程式設計 a 由0x開頭,後跟0 9,a f的是十六進位制整數。0x3al是十六進位制數,等於十進位制的 56,其中l表示長整形,a正確。b 由數字0開頭,...

C語言程式設計,c語言程式設計

程式的執行結果是a 14。逗號表示式的結果是最後一個逗號後面的表示式的值。你的問題中a 3 5,a 4 實際上等效於a a 4 一分鐘讀懂。c語言程式設計。可以的,按照你的要求程式設計好。太多了,可以具體一下是需要哪個嗎。a 0 從右往左開始運算。n n 2 n 7 2 n 1 n 0 a a a ...