這個哪里錯了?真心求教
#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; //定義符號狀態(tài)變量flag
???
??? //使用while循環(huán)
??? while(i<=100)
??? {
??????? i++;
??????? sum+=i*flag;
??????? flag*=-1;
??? }
???
??? i = 1;? //重新初始化變量i
???
??? //do-while循環(huán)
??? do{
??????? i++;
??????? sum+=i*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;???
}
2016-09-25
你的意思是說sum的值和答案給的不一樣是嗎?
這不是錯誤,while 、do while 、for三者都能實(shí)現(xiàn)循環(huán)功能
只是你將這三個循環(huán)都寫在一起了
寫在一起也就算了,你沒有初始化sum的值
所以sum一直是累加的
因此你的答案不符
如果改的話
2016-09-25
沒錯啊,用一種就行,不用三個都用。三個都用你沒重置sum的值