訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容
#include <stdio.h> #include <stdlib.h> void addsum(int); int main(void) { int a; printf("輸入數字開始計算,輸入0為結束\n"); scanf("%d",&a); addsum(a); system("pause"); return 0; } void addsum(int b) { static int a; int sum=0; while (1) { sum=sum+a; if (a==0) break; } printf("總數為%d\n",sum); }
int AddSumStatic(int Num) //可做累加 { static int Sum = 0; Sum = Sum + Num; return Sum; } int AddSumNotStatic(int Num) //不可做累加 { int Sum = 0; Sum = Sum + Num; return Sum; }
#include <stdio.h> #include <stdlib.h> void addsum(int); int main(void) { int a; printf("輸入數字開始計算,輸入0為結束\n"); while (1) { scanf("%d",&a); addsum(a); if (a==0) break; } system("pause"); return 0; } void addsum(int a) { static int sum=0; sum=sum+a; printf("sum=%d\n",sum); }
下面是引用karen7710於2007-06-27 19:19發表的 : scanf不能輸入空白,所以如果我輸入1234567890輸入到0它不會自動停止算總和,按enter後出現的sum=1234567890跟輸入的一模ㄧ樣...
#include <stdio.h> #include <stdlib.h> int addsum(int); int main(void) { int a; printf("輸入數字開始計算,輸入0為結束\n"); do { a = getch(); //獲得的是字元碼,所以a裡面放的是字元碼不是數字 if( a >= Ɔ' && a <= Ə' ) //這裡的比較也是介於0~9的字元 { printf("%c",a); addsum( a - Ɔ' ); //因為數字0~9的字元碼是連續的,所以a - Ɔ'就會等於實際數值 } }while( a != Ɔ' ); printf("\nsum=%d\n",addsum(0)); system("pause"); return 0; } int addsum(int a) { static int sum=0; sum=sum+a; return sum; }