問題出在哪里?
#include <stdio.h>
#include<math.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=sum+flag;
? ? ? ? ? flag=i*pow((-1),i-1);
? ? ??
? ? ?
? ? ? ? i++;
? ? }
? ??
? ? i = 1; ?//重新初始化變量i
? ??
? ? //do-while循環(huán)
? ? do{
? ? ? ? ? flag=i*pow((-1),i-1);
? ??
? ? ? ? i++;
? ? ? ?
? ? ? ? sum=sum+flag;
? ? ? ??
? ? }while(i<=100);
? ??
? ? i = 1; ?//重新初始化變量i
? ??
? ? //使用for循環(huán)
? ? for(i=1;i<=100;i++)
? ? {
? ? ? ? ? flag=i*pow((-1),i-1);
? ? ? ? sum=sum+flag;
? ? } ?
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0; ? ?
}
2018-04-27
第一個問題:在第二次和第三次循環(huán)之前,sum = 0;將sum重新賦值為0,得到的是最后一次循環(huán)的結果,不然會將前一個循環(huán)的結果值代入后一個循環(huán)。這里并不是三次循環(huán)之后才能得到正確的結果。
第二個問題:第一個循環(huán)里,兩句前后換下位置