#include
int main(){
int i;
int N;
scanf("%d",&N);
for(i=1;i<=N;i++){
N+=i;
if(i>N){
break;
}
}
printf("%d",N);
return 0;
}
输出从1加到N的和(应用break语句)
输出从1加到N的和
输入格式:
一个整数N。
输出格式:
和。
输入样例:
10
输出样例:
55
你的N是用来控制从1加到N的个数的上限,你怎么能N+i呢?
定义一个int sum=0;让sum+=i。
另外就是你这样写的for循环里面的break根本不会执行。for循环第二个限制条件就是i<=N呀,所以循环体里面i根本不会大于N。可以用while循环实现,像这样:
#include<stdio.h>
int main()
{
int i=1,s=0,N;
scanf("%d",&N);
while(1)
{
if(i>N) break;
s+=i;
i++;
}
printf("%d\n",s);
return 0;
}
有帮助的话采纳一下哦!
for(i=1;i<=N;i++){
N+=i;循环终止条件是i<=N,可是N+=i这句让N一直在增大,导致for死循环。
int main()
{
int i = 0;
int N, s = 0;
scanf("%d", &N);
while (++i)
{
if (i > N)
break;
s += i;
}
printf("%d", s);
return 0;
}
少啦一个变量吧,你这样搞好你是你死循环吧