解1:使用 for 循环依次递加。
公司主营业务:成都做网站、网站制作、成都外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出定陶免费做网站回馈大家。#include
int main(void){
int x;
printf("Input an integer:
");
scanf("%d", &x);
printf("sum=%d
", sum(x));
return 0;
};
int sum(int x){
int i, result=0;
for(i=0; i<=x; i++){
result+=i;
}
return result;
};
解2:题目所求实际上为一个首项为 0,末项为 N,公差为 1 的等差数列,根据等差求和公式:S[n] = N * (N + 1) / 2 或者 S[n] = (a[1] + a[n]) * n / 2。
#include
int main(void){
int x;
printf("Input an integer:
");
scanf("%d", &x);
printf("sum=%d
", sum(x));
return 0;
};
int sum(int x){
return (x + 1)*x/2;
};
输入与输入:
$ ./a.out
Input an integer:
100sum=5050
等差数列公式an = a1 + (n - 1)d
Sn = na1 + n(n-1)d/2
n 表示数列长度。
a1 表示首项。
d 表示公差。
Sn 表示求 n 项之和。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款