請(qǐng)問(wèn)這段代碼哪兒錯(cuò)了
計(jì)算1-2+3-4+……-100的值
#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
? ??
? ??
? ? //使用for循環(huán)
? ? for(i=1;i<=100;i++)
? ? {
? ? ? ? i=flag*i;
? ? ? ? sum=sum+i;
? ? ? ? flag=-flag;
? ? } ?
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0; ? ?
}
2016-07-11
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認(rèn)為最合理的循環(huán)結(jié)構(gòu)完成功能吧 */
? ? int sum = 0; ?//定義計(jì)算結(jié)果變量sum
? ? int i = 1,m=1; ? ?//定義循環(huán)數(shù)字變量i
? ? int flag = 1; //定義符號(hào)狀態(tài)變量flag
? ??
? ??
? ? //使用for循環(huán)
? ? for(i=1;i<=100;i++)
? ? {
? ? ? ? m=flag*i;
? ? ? ? sum=sum+m;
? ? ? ? flag=-flag;
? ? } ?
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0; ? ?
}
2016-07-11
試試這個(gè)
2016-07-11
i=flag*i; 這句去掉。
在循環(huán)條件中已經(jīng)有i++這個(gè)語(yǔ)句改變 i 值,這一句再改變 i 值的話,循環(huán)不可控了,最后 i 會(huì)變成負(fù)數(shù),陷入死循環(huán)了。
2016-07-10
i=flag*i;? ?sum=sum+i;
把這兩行改成sum=sum+i*flag
2016-07-10
flag=-flag;這里的問(wèn)題吧
2016-07-10
沒(méi)看到錯(cuò)誤啊