为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大神给讲解讲解啊!我不太懂!过程详细点。谢谢!!!!!

哪位大神给讲解讲解啊!我不太懂!过程详细点。谢谢!!!!!

正在回答

2 回答

#include <stdio.h>
int main()
{
     int sum = 0;     //相加结果
     int i = 1;   //循环变量
     int flag = 1;  //加减符号切换
     while(i<=100)       //只要i<=100,循环继续
    {
       
             i++;     //i=i+1 ,第一次循环为2,最后一次循环为101
            sum=sum+flag*i; //循环100次为:sum=2-3+4-5+6……+100-101;flag:奇数次为+,偶数次为-。注:是奇数次,而不是奇数
            flag=-1*flag;   //flag在每次循环之后其+、-号都互换一次,
       
    }
     printf("sum=%d\n",sum);
}

需要注意的是:1、如果i++;在while语句中的第一行则公式应该为sum=2-3+4-5+6……+100-101=-50

                        2、如果i++;在whele语句中的最后一行,则公式就是sum=1-2+3-4+5……-100=-50

虽然结果都是一样的,但为了更符合题意,本人觉得还是第二种的比较好,也容易理解。

4 回复 有任何疑惑可以回复我~

#include <stdio.h>

int main()

{

    /* 小伙伴们:

           选择你们认为最合理的循环结构完成功能吧 */

    int sum = 0;  //定义计算结果变量sum

    int i = 1;    //定义循环数字变量i

    int flag = 1; //定义符号状态变量flag

    

    //使用while循环

    while(i<=100)

    {

        i++;

        //sum=sum+i*flag;

       // flag=-flag;

    }


    i = 1;  //重新初始化变量i

    

    //do-while循环

    do{

        i++;

       // sum=sum+i*flag;

       // flag=-flag;

        

    }while(i<=100);

   

    i = 1;  //重新初始化变量i

    

    //使用for循环

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

    {

      sum=sum+i*flag;

      flag=-flag;

    }  

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

    

    return 0;    

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪位大神给讲解讲解啊!我不太懂!过程详细点。谢谢!!!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信