為什么要重新定義i=1
#include <stdio.h>
int main()
{
/* 小伙伴們:
? ? ? ?選擇你們認(rèn)為最合理的循環(huán)結(jié)構(gòu)完成功能吧 */
int sum = 0; ?//定義計(jì)算結(jié)果變量sum
int i = 1; ? ?//定義循環(huán)數(shù)字變量i
int flag = 1; //定義符號(hào)狀態(tài)變量flag
//使用while循環(huán)
while(i<=100)
{
? ? i++;
? ??
}
i = 1; ?//重新初始化變量i
//do-while循環(huán)
do{
? ? i++;
? ? sum+=i*flag;
? ? flag=flag*(-1);
? ??
}while(i<=100);
i = 1; ?//重新初始化變量i
//使用for循環(huán)
for(i=1;i<=100;i++)
{
? ?sum+=i*flag;
? ?flag*=(-1);
} ?
printf("sum=%d\n",sum);?
return 0; ? ?
}
2017-04-30
如果你選擇完成的循環(huán)結(jié)構(gòu)是第二個(gè)的話(huà),i的值在經(jīng)過(guò)第一個(gè)循環(huán)結(jié)構(gòu)的時(shí)候因?yàn)闈M(mǎn)足i<=100這個(gè)條件所以會(huì)執(zhí)行第一個(gè)循環(huán)結(jié)構(gòu)也就是i++,當(dāng)i到達(dá)第二個(gè)循環(huán)結(jié)構(gòu)的時(shí)候值已經(jīng)變成100了,所以要先重新定義i的值。