求大佬解答一下
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認為最合理的循環結構完成功能吧 */
? ? int sum = 0;? //定義計算結果變量sum
? ? int i = 1;? ? //定義循環數字變量i
? ? int flag = 1; //定義符號狀態變量flag
? ??
? ? //使用while循環
? ? while(i<=100)
? ? {
? ? ? ? i++;
? ? ? ? sum+=i*flag;
? ? ? ? flag*=-1;
? ? }
? ??
? ? i = 1;? //重新初始化變量i
? ??
? ? //do-while循環
? ? do{
? ? ? ? i++;
? ? ? ? sum+=i*flag;
? ? ? ? flag*=-1;
? ??
? ? ? ??
? ? }while(i<=100);
? ??
? ? i = 1;? //重新初始化變量i
? ??
? ? //使用for循環
? ? for(i=1;i<=100;i++)
? ? {
? ? ? ? sum+=i*flag;
? ? ? ? flag*=-1;
? ? }??
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0;? ??
}
為什么輸出結果是-150
2021-09-14
在每個循環之前都要對sum 和flag重新設置初值,因為經過第一個循環以后,sun 和flag已經非0和1,flag是-1.