第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么程序運行后得到數字不對

#include<stdio.h>
int?main()
{
??int?amount;
??int?n?=?1;
??scanf("%d",&amount);
??while(?n?<=?amount){
????amount?*=?n;
????n?++;
????}
??printf("階乘為%d",amount);
??return?0;
??//在D++上運行成功,但是除輸入零外的任何數字都無法算出正確的階乘,一直都是負號開頭的數字

?

正在回答

3 回答

先給amount賦初值

int?amount?=?1;


0 回復 有任何疑惑可以回復我~
#1

慕九州0173060 提問者

嘗試過了,還是不行
2020-03-06 回復 有任何疑惑可以回復我~
#2

WE_Xing 回復 慕九州0173060 提問者

這尷尬了
2020-03-06 回復 有任何疑惑可以回復我~
#3

WE_Xing 回復 慕九州0173060 提問者

哦哦我知道了,你得找另外一個值存儲結果
2020-03-06 回復 有任何疑惑可以回復我~
#4

慕九州0173060 提問者 回復 WE_Xing

為什么非要找一個值儲存結果?數學上來說兩個數即可實現了??!
2020-03-06 回復 有任何疑惑可以回復我~
#5

WE_Xing 回復 慕九州0173060 提問者

關鍵是你也沒告訴程序算幾個階乘啊,如果你寫n<5告訴它明確求5的階乘,那就是兩個變量
2020-03-06 回復 有任何疑惑可以回復我~
查看2條回復

/*理解了,amount是計算所比較的數,并不能直接加入while中,否則會使()內的比較隨之變動,因此需要一個數字儲存過程中所取得的數*/

#include<stdio.h>
int main()
{
?? ?int n = 1;int sum =1;
?? ?int amount ;
?? ?printf("請輸入你想要階乘的數字\n");
?? ?scanf("%d",&amount);
?? ?while(n <= amount){
?? ??? ?sum *= n;
?? ??? ?n ++;
?? ?}
?? ?printf("n! = %d",sum);
?? ?return 0;
}

1 回復 有任何疑惑可以回復我~
int?a,n?=?1,f?=?1;
scanf("%d",?n);
while(n?<=?a)
{????f?*=?n;????
????n?++;
?}
?printf("%d\n",?f);???//??這樣估計...


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么程序運行后得到數字不對

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號