习题 2.4(4) 求1+2+3+···+100。
100 习题 2.4
2023-09-14 09:06:57 时间
C程序设计 (第四版) 谭浩强 习题2.4(4) 个人设计
习题 2.4(4) 求1+2+3+···+100。
代码块
方法1:(利用依次相加法)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, t;
for (i=1, t=0; i<=100; i++)
t=t+i;
printf("%d\n", t);
system("pause");
return 0;
}
方法2:(利用首尾相加法)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, t;
for (i=1, j=99; i<j; i++, j--);
t=i*(i+j)+50;
printf("%d\n", t);
system("pause");
return 0;
}
方法3:(利用函数的模块化设计)
#include <stdio.h>
#include <stdlib.h>
int addsum(int n);
int main()
{
printf("sum=%d\n", addsum(100));
system("pause");
return 0;
}
int addsum(int n)
{
int i, s;
for (i=1, s=0; i<=n; s+=i, i++);
return s;
}
方法4:(利用函数递归)
#include <stdio.h>
#include <stdlib.h>
int addsum(int n);
int main()
{
printf("sum=%d\n", addsum(100));
system("pause");
return 0;
}
int addsum(int n)
{
int s;
n==1 ? s=1 : s=n+addsum(n-1);
return s;
}
方法5:(循环简写)
#include <stdio.h>
#include <stdlib.h>
int main()
{
for (int i=1, sum=0; i<=100; sum+=i++);
printf("%d\n", sum);
system("pause");
return 0;
}