亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個哪里錯了?真心求教

#include <stdio.h>
int main()
{
??? /* 小伙伴們:
?????????? 選擇你們認為最合理的循環結構完成功能吧 */
??? int sum = 0;? //定義計算結果變量sum
??? int i = 1;??? //定義循環數字變量i
??? int flag = 1; //定義符號狀態變量flag
???
??? //使用while循環
??? while(i<=100)
??? {
??????? i++;
??????? sum+=i*flag;
??????? flag*=-1;
??? }
???
??? i = 1;? //重新初始化變量i
???
??? //do-while循環
??? do{
??????? i++;
??????? sum+=i*flag;
??????? flag*=-1;
??? }while(i<=100);
???
??? i = 1;? //重新初始化變量i
???
??? //使用for循環
??? for(i=1;i<=100;i++)
??? {
??????? sum+=i*flag;
??????? flag*=-1;??
??? }?
??? printf("sum=%d\n",sum);
???
??? return 0;???
}

正在回答

2 回答

你的意思是說sum的值和答案給的不一樣是嗎?

這不是錯誤,while 、do while 、for三者都能實現循環功能

只是你將這三個循環都寫在一起了

寫在一起也就算了,你沒有初始化sum的值

所以sum一直是累加的

因此你的答案不符

如果改的話

#include?<stdio.h>
int?main()
{
????/*?小伙伴們:
???????????選擇你們認為最合理的循環結構完成功能吧?*/
????int?sum?=?0;??//定義計算結果變量sum
????int?i?=?1;????//定義循環數字變量i
????int?flag?=?1;?//定義符號狀態變量flag
????
????//使用while循環
????while(i<=100)
????{
????????i++;
????????sum+=i*flag;
????????flag*=-1;
????}
??????printf("sum=%d\n",sum);?
????i?=?1;?sum?=?0;?//重新初始化變量i
????
????//do-while循環
????do{
????????i++;
????????sum+=i*flag;
????????flag*=-1;
????}while(i<=100);
??????printf("sum=%d\n",sum);?
????i?=?1;sum?=?0;??//重新初始化變量i
????
????//使用for循環
????for(i=1;i<=100;i++)
????{
????????sum+=i*flag;
????????flag*=-1;???
????}??
????printf("sum=%d\n",sum);?
????
????return?0;????
}


2 回復 有任何疑惑可以回復我~
#1

草帽的意志 提問者

非常感謝!
2016-09-25 回復 有任何疑惑可以回復我~

沒錯啊,用一種就行,不用三個都用。三個都用你沒重置sum的值

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這個哪里錯了?真心求教

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號