匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 2 0 年前

我哪寫錯了(幫看看吧)囧

#include <iostream.h>

#include <stdlib.h>

#include <stdio.h>

int get_sum(int n){

int sum=0;

int tmp,i=1,j=1;

whlie(i<=9)

{

tmp=1;

while(j<=i)

{

tmp=i*tmp;

j=j 1;

}

sum=tmp sum;

i=i 1;

}

return sum;

}

void main()

{

int n;

This:printf("請輸入N值(n從0-9):"); scanf("%d",&n);

if (n>9)

{

printf("請重新輸入'\n");

goto This;

}

printf("%d\n",get_sum(n));

system("PAUSE");

//return 0;

}

這是算1^1 2^2 ....... n^n答案不對囧哪寫錯了呢@@沒bug的說

已更新項目:

int get_sum(int n) 參數 n 好像在函式裏面都沒用到

這樣不管 n 是多少, 得到的結果都一樣吧

-----應該不一樣至少我測時是這樣

get_sum裏的迴圈應該是 while (i

2 個已更新項目:

get_sum裏的迴圈應該是 while (i

3 個已更新項目:

上面補充當作沒看吧囧恩,照Mark所說我會改過(有問題再貼上來再幫我看看吧........)用for喔,我寫出來了....就是想用while也寫出來,研究中,感謝回答= =

4 個已更新項目:

回Mark大大我在tmp=1;之後加入了 if(i

5 個已更新項目:

回Mark大我在tmp=1;之後加入了 if(j

6 個已更新項目:

我終於搞定,感謝Mark大

1 個解答

評分
  • Mark
    Lv 5
    2 0 年前
    最佳解答

    int get_sum(int n) 參數 n 好像在函式裏面都沒用到

    這樣不管 n 是多少, 得到的結果都一樣吧

    get_sum裏的迴圈應該是 while (i<=n) 而不是 while (i<=9)

    另外, while (j<=i)之前應該先 j = 1 才對

    你只有一開始有設 j = 1, 之後都沒有了

    在 while (i <= n)迴圈內, 每次都應該先把 j 設為1

    建議使用 for 迴圈會比較清楚

    for (i=1; i<=n; i++)

    {

    tmp = 1;

    for (j=1; j<=i; j++)

    { tmp = i*tmp; }

    sum = sum + tmp;

    }

還有問題?馬上發問,尋求解答。