问答详情
源自:4-10 循环结构之三种循环比较

请问我这样编程对吗?

#include <stdio.h>

int main()

{

    int sum = 0,i,k; 

    for(i=1,k=1;i<=100;i++,k++)

    {

        if(k%2==0){

            i*=-1;

        }

        sum+=i;
    }  
    printf("sum=%d\n",sum);

    

    return 0;    

}


提问者:qq_海纳百川_chRVW1 2018-02-22 18:29

个回答

  • 来自未来的富婆
    2018-02-22 19:56:41

    你这样会陷入死循环,当i=2时,变成-2,之后再次进行for循环,i=-2...i=1...i=2...i=-2...……

    另用一个量表示符号的正负。


    ↓是成功答案,答案不唯一,自己多次实验后再对答案

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