循環(huán)結構之三種循環(huán)比較里面表示請檢查輸出是否包含:sum=-50是怎么回事啊
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認為最合理的循環(huán)結構完成功能吧 */
? ? int sum = 0; ?//定義計算結果變量sum
? ? int i = 1; ? ?//定義循環(huán)數(shù)字變量i
? ? int flag = 1; //定義符號狀態(tài)變量flag
? ??
? ? //使用while循環(huán)
? ? while(i<=100)
? ? { ?sum+=i*flag;?
? ? ? ? i++;
? ? ? ?flag*=(-1);?
? ? }
? ? ? ? ?printf("sum1=%d\n",sum);
? ? i = 1; ?//重新初始化變量i
? ? sum 0;
? ? //do-while循環(huán)
? ? do{ sum+=i*flag;
? ? ? ? i++;
? ? ? ? flag*=(-1);
? ? }while(i<=100);
? ? printf("sum2=%d\n",sum);
? ? i = 1; ?//重新初始化變量i
? ?sum 0;
? ? //使用for循環(huán)
? ? for(i=1;i<=100;i++)
? ? { ?sum+=i*flag;
? ? ? ?flag*=(-1) ;
? ? } ?
? ? printf("sum3=%d\n",sum);?
? ??
? ? return 0; ? ?
}
請檢查輸出是否包含:sum=-50,再試試!直接進入下一節(jié)
2016-01-10
你的程序沒有問題,就是畫蛇添足了,?printf("sum1=%d\n",sum);? printf("sum2=%d\n",sum);printf("sum3=%d\n",sum); ,運行結果是sum1=-50
sum2=-50 ? sum3=-50 ?,但是題目要求,結果是sum=-50,所以while和do-while,根本不用運行結果
2016-01-09
for(i=1;i<=100;i++)
? ? { ?sum+=i*flag;
? ? ? ?flag*=(-1) ;
? ? } ?
其中 ?? ?flag*=(-1) ; 每循環(huán)一次改變一次符號
運行過程為1-2+3-4+5-。。。。+99-100=50個負1相加等于-50
2016-01-08
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認為最合理的循環(huán)結構完成功能吧 */
? ? int sum = 0; ?//定義計算結果變量sum
? ? int i = 1; ? ?//定義循環(huán)數(shù)字變量i
? ? int flag = 1; //定義符號狀態(tài)變量flag
? ??
? ? //使用while循環(huán)
? ? while(i<=100)
? ? { ?sum+=i*flag;?
? ? ? ? i++;
? ? ? ?flag*=(-1);?
? ? }
? ? ? ? ?printf("sum1=%d\n",sum);
? ? i = 1; ?//重新初始化變量i
? ? sum= 0;
? ? //do-while循環(huán)
? ? do{ sum+=i*flag;
? ? ? ? i++;
? ? ? ? flag*=(-1);
? ? }while(i<=100);
? ? printf("sum2=%d\n",sum);
? ? i = 1; ?//重新初始化變量i
? ?sum= 0;
? ? //使用for循環(huán)
? ? for(i=1;i<=100;i++)
? ? { ?sum+=i*flag;
? ? ? ?flag*=(-1) ;
? ? } ?
? ? printf("sum3=%d\n",sum);?
? ??
? ? return 0; ? ?
}
2016-01-08
?for(i=1;i<=100;i++)
? ? { ?sum+=i*flag;
? ? ? ?flag*=(-1) ;
? ? } ?
其中 ?? ?flag*=(-1) ; 每循環(huán)一次改變一次符號