為什么我的答案是-150
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認為最合理的循環(huán)結(jié)構(gòu)完成功能吧 */
? ? int sum = 0;? //定義計算結(jié)果變量sum
? ? int i = 1;? ? //定義循環(huán)數(shù)字變量i
? ? int flag = 1; //定義符號狀態(tài)變量flag
? ??
? ? //使用while循環(huán)
? ? while(i<=100)
? ? {sum = sum + flag*i;
? ? ? ? i++;
? ? ? ?flag*=-1;?
? ? }
? ??
? ? i = 1;? //重新初始化變量i
? ??
? ? //do-while循環(huán)
? ? do{sum = sum + flag*i;
? ? ? ? i++;
? ? ? ? flag*=-1;
? ? }while(i<=100);
? ??
? ? i = 1;? //重新初始化變量i
? ??
? ? //使用for循環(huán)
? ? for(i=1;i<=100;i++)
? ? {sum = sum + flag*i;
? ? ? ? flag*=-1;
? ? }??
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0;
2021-10-17
while后sum就已經(jīng)=-50了
在做do-while時是以sum=-50來的
do-while做完后sum=-100了
2021-09-26
我是也學沒多久
我的理解:sum經(jīng)過第一個while循環(huán)sum=-50;
因為最開始i為1,然后-2,3,-4,5,-6.....,99,-100;所有數(shù)字相加和為-50;
do-while,和for循環(huán)也一樣,都是-50。
你又用sum = sum + flag*i將三個循環(huán)的sum相加,就達到了-150。