用c语言编写1+2+3+...+100
#include <stdio.h>
#include <conio.h>
int main(){
int sum=0,i=1;
while(i<=100){
sum=sum+i;
i++;
}
printf("1+2+3+...+100=%d",sum);
getch();
}
方法二、
int main(){
int sum=0,i;
for(i=1;i<=100;i++){
sum=sum+i;
}
printf("1+2+3+...+100=%d",sum);
getch();
}
方法三、
int main(){
int sum=0,i=1;
do{
sum=sum+i;
i++;
}
while(i<=100);
printf("1+2+3+...+100=%d",sum);
getch();
}
扩展资料:
java中编程实现1+2+3+4...+100的和。
定义一个变量total,用来统计和;然后用循环,从1到100;每次相加即可;
代码:
public class Test {
public static void main(String[] args) {
int total=0;
for(int i=1;i<=100;i++){
total+=i;
}
System.out.println("1+2+3+...+100的和是:"+total);
}
}
java运行输出:
1+2+3+...+100的和是:5050
使用循环,遍历1~100每个数值,并累加即可。
代码如下:
#include <stdio.h>
int main()
{
int i, s=0;
for(i = 1; i <= 100; i ++)//循环遍历。
s+=i;//累加。
printf("%d\n", s);//输出结果。
return 0;
}
#include<stdio.h>
int main(void){
int n=100; /*这个值可以改变,如果是求1+2+3+..+1000,把n=100改为n=1000即可*/
int sum = (1+n)*n/2; /*求和公式,求1+2+3+..+n*/
printf("和为:%d",sum);
return 0;
}
如果题目没有特别要求,就不建议用循环来做,因为求1+2+3+..+n,当n的值很大(几百万至上亿)的时候,循环次数也就增多,执行速度就慢了。使用等差数列求和公式可大大提升效率
数学学过的公式套用即可
公式:
和 =(首项+末项)× 项数 ÷ 2
代码如下:
#include <stdio.h>
int main(void) {
int n=100,sum=0;
sum = (1+n) * n / 2;
printf("%d",sum);
return 0;
}
注:楼上提供的都是循环运算,执行次数取决于末项的多少(此题需要100次),而这种数学运算方式执行为1次。
#include<stdio.h>
main()
{int i,s=0;
for(i=1;i<=100;i++)
s+=i;
printf("s=%d",s);
}
方法二定义求和函数
#include<stdio.h>
int add(int,int);
main()
{int i,y;
for(y=0,i=1;i<=100;i++)
y=add(y,i);
printf("%d",y);
}
int add(int a,int b)
{int s=0;
s=a+b;
return s;
}
方法三递归求和
#include<stdio.h>
int fun(int n)
{
if(n==1)return 1;
return n+fun(n-1);
}
main()
{
printf("%d",fun(100));
}
方法四do while求和
#include<stdio.h>
main()
{int i=1,s=0;
do
{s=s+i;i++;}
while(i<=100);
printf("s=%d",s);
}
方法五while
#include<stdio.h>
main()
{int i=1,s=0;
while(i<=100)
{s+=i;i++;}
printf("s=%d",s);
}