访客只能看到部份内容,免费 加入会员 或由脸书 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; }