求助:一個c++的問題 自已演算到快掛了...



贊助商連結


頁 : [1] 2

紫羽
2009-04-08, 12:45 PM
題目是 1+3+5+7+9+11+...+9999=?
很感謝大大們的細心指導和提醒^^以下是我最後自已的修正
有哪裡不好 或要如何寫的更好 可以在請不吝指教 感謝^^

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int sum=1,i=1;

while (i!=10001)
{
i=i+2;
sum=sum+i;
}

printf("sum=%d\n",sum);


system("pause");
return 0;
}

贊助商連結


tvirus
2009-04-08, 01:15 PM
while (i!=9)
{
i=i+2;
sum=sum+i;
}
你這個是1加到9吧?????

rushoun
2009-04-08, 01:15 PM
是不是變數的數值位元長度不足,要先做定義的關係?我記得只要是程式設計,他的變數數值都有一定的位元長度,超過內定的數值位元長度,計算就會有問題。

shinn
2009-04-08, 01:50 PM
目前 32 位元作業系統下
int 的範圍 -2147483648 ~ 2147483647(0x7FFFFFFF)
解這一個題目不致於不夠.
25000000

紫羽
2009-04-08, 01:58 PM
while (i!=9)
{
i=i+2;
sum=sum+i;
}
你這個是1加到9吧?????

那大大 我要修改哪裡才會正常呢@@?
麻煩了^^

tvirus
2009-04-08, 02:17 PM
那大大 我要修改哪裡才會正常呢@@?
麻煩了^^
請用力的理解一下while這迴圈做了啥事

要告訴你答案很簡單
但你以後還是不會寫

琥珀
2009-04-08, 02:17 PM
#include <stdio.h>

void main()
{
double sum=0;
int i;

for(i=1;i<=9999;i+=2)
sum+=i;

printf("sum=%.0f\n", sum);
}

puwen
2009-04-08, 02:52 PM
請思考 "梯形面積" 的算法與意義
(上底+下底) × 高 ÷ 2
不要為了程式而寫程式

tvirus
2009-04-08, 04:04 PM
囧a
琥珀大大心腸太好了 Orz

紫羽
2009-04-12, 08:00 AM
請用力的理解一下while這迴圈做了啥事

要告訴你答案很簡單
但你以後還是不會寫

很感謝大大的提醒^^了解你的意思^^感恩~~~我做修正了^^:lovely: