c语言1到100累加和

如题所述

清楚算法就可以很快写出:

(1)只需输入2个变量n和sum,且sum=n+sum.

(2)确定n的范围为n<=100

(3)循环体为

for(n=1;n<=100;n++)

sum+=n;

(4)根据C语言编辑规则写出程序

用for循环求:

#include<stdio.h>

int main(void)

{

int n,sum=0;

for(n=1;n<=100;n++)

sum+=n;

printf("1+2+...+100=%d\n",sum)

return 0;

}

程序运行结果:

1+2+...+100=5050

扩展资料:

for( i=1; i<=100; i++ )  sum=sum+i;
先给i赋初值1,判断i是否小于等于100,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>100时,结束循环。相当于:

i=1;

while(i<=100){

sum=sum+i;

i++;

}


对于for循环中语句的一般形式,就是如下的while循环形式:
表达式1;
while(表达式2){
语句
表达式3;
}

使用for语句应该注意:
1) for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项,即可以缺省,但分号(;)不能缺省。

2) 省略了“表达式1(循环变量赋初值)”,表示不对循环控制变量赋初值。

3) 省略了“表达式2(循环条件)”,则不做其它处理时便成为死循环。例如:

for( i=1; ; i++ )  sum=sum+i;
相当于:i=1;

while(1){

sum=sum+i;

i++;

}

4) 省略了“表达式3(循环变量增量)”,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。例如:

for( i=1; i<=100 ; ){

sum=sum+i;

i++;


5) 省略了“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。例如:

for( ; i<=100 ; ){

sum=sum+i;

i++;

}
相当于:

while(i<=100)

{sum=sum+i;

i++;

}

6) 3个表达式都可以省略。例如:
for( ; ; )  语句
相当于:
while(1)  语句

7) 表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。例如:

for( sum=0; i<=100; i++ )  sum=sum+i;

8) 表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。

for( sum=0,i=1; i<=100; i++ )  sum=sum+i;
或:

for( i=0,j=100; i<=100; i++,j-- )  k=i+j;

9) 表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。例如:

for( i=0; (c=getchar())!=’\n’; i+=c );
又如:

for( ; (c=getchar())!=’\n’ ; )

printf("%c",c);

参考资料:for循环_百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30
#include<stdio.h>
main
{
int i=1,sum=0;
for(;i<=100;i++)
sum+=i;
printf("%d\n",sum);
}

追问

运行出错了
没有输出画面

追答#include<stdio.h>
main()
{
int i=1,sum=0;
for(;i<=100;i++)
sum+=i;
printf("%d\n",sum);
}

追问

怎么是5050啊
我要输出101

追答

1+2+3+...+99+100=101?

追问

还在吗?

追答

在的

本回答被提问者采纳
第2个回答  2013-04-21
public static void main(String [] args ){
int num=100;
sum(num);
}
public int sum(num){
if(num==1){
return 1;
}else{
return num+sum(num-1)
}
}
递归 谢谢
第3个回答  2013-04-21
main()
i=1 ;
s=0;
for
i=1 i≤100 ++i;
s=s+i;
printf(%d,s)
第4个回答  2013-04-21
5050这是结果。追问

1+2+3+...+99+100=101?要输出101

追答

1累加到100是101??啥逻辑

追问

我理解错了,不好意思