tomchanhk 發表於 2006-4-26 19:09

再問: C Programe 程式問題

我想做一個程式用loop做係要計到:
1
1+2
1+2+3
1+2+3+4
1+2+3+4+5
1+2+3+4+5+6
.........
1+2+3+4+5+6+............+n
係每一行累績咁加上去,即n行
唔洗出返上面D野

Programe執行後顯示
係一開始鍵出n的數值,最後出answer
有冇人可以幫幫我?
Thx!

timmylee 發表於 2006-4-26 21:55

好耐冇玩C...試下玩下先..:D

int i,j,n,sum1=0,sum2=0;
cout << "Enter n Value: ";
cin >> n;

for(i=1;i<=n;i++)
{
        for(j=1;j<=i;j++)
        sum1+=j;
        sum2+=sum1;
        sum1=0;
}
cout << "\nResult is " << sum2 <<"\n";

kychung 發表於 2006-4-26 22:31

其實唔駛用兩個loop咁多
一個就搞得掂:


int n, i1=0, i2, total=0;

scanf("%d", &n);
/*叫使用者輸入n的數值*/

for (i2=0;i2<=n;i2++){
        i1=i1+i2;/*每次由1加到n的數值*/
        total=total+i1;/*將上一行每次的結果疊加起黎*/
}

printf("%d", total);
/*輪出答案*/


p.s.我而家就俾assembly language搞到頭暈:'(

[ 本帖最後由 kychung 於 2006-4-26 22:34 編輯 ]

matchman72 發表於 2006-4-26 23:04

原帖由 timmylee 於 2006-4-26 21:55 發表
好耐冇玩C...試下玩下先..:D

int i,j,n,sum1=0,sum2=0;
cout << "Enter n Value: ";
cin >> n;

for(i=1;i<=n;i++)
{
        for(j=1;j<=i;j++)
        sum1+=j;
        sum2+=sum1;
        sum ...

cout 同cin 只係c++ 既stream object

tomchanhk 發表於 2006-4-27 18:11

原帖由 kychung 於 2006-4-26 22:31 發表
其實唔駛用兩個loop咁多
一個就搞得掂:


int n, i1=0, i2, total=0;

scanf("%d", &n);
/*叫使用者輸入n的數值*/

for (i2=0;i2<=n;i2++){
        i1=i1+i2;/*每次由1加到n的數值*/
        tota ...
你用中文果應該點寫?

原帖由 matchman72 於 2006-4-26 23:04 發表


cout 同cin 只係c++ 既stream object
咁可以點改

Thx!

kychung 發表於 2006-4-27 18:48

原帖由 tomchanhk 於 2006-4-27 18:11 發表
你用中文果應該點寫?
Thx!

用中文果D只係D comment je
怕你唔明
其實點改都得:)

timmylee 發表於 2006-4-27 20:06

原帖由 tomchanhk 於 2006-4-27 18:11 發表

咁可以點改


cin >> n;
change to
scanf("%d",&n);

cout << "\nResult is " << sum2 <<"\n";
change to
printf("\nResult is %d\n",sum2);

matchman72 發表於 2006-4-27 20:07

個人覺得, 呢條題目你可以先諗番 S(n) = 1+2+...+n 可以點求
S(n) = (1+n)*n / 2
之後你可以諗點Loop S(n) 黎計番個答案

原帖由 tomchanhk 於 2006-4-27 18:11 發表
咁可以點改

Thx!

係c 可以用printf scanf
頁: [1]
查看完整版本: 再問: C Programe 程式問題