關(guān)于用ifelse語(yǔ)句求和i++在if語(yǔ)句前后的問(wèn)題
使用循環(huán)計(jì)算1-2+3-4+5-6+…-100的值以下兩種運(yùn)行結(jié)果都為-50。其語(yǔ)句是否有誤?
#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
?//使用while循環(huán)
?while (i <= 100)
?{
??i++;
??if (i % 2 == 0)
??{
???sum += i;
??}
??else
??{
???sum -= i;
??}
??
?}
?printf("sum=%d\n", sum);
?return 0;
}
#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
?//使用while循環(huán)
?while (i <= 100)
?{
??if (i % 2 != 0)
??{
???sum += i;
??}
??else
??{
???sum -= i;
????i++;
??}
??
?}
?printf("sum=%d\n", sum);
?return 0;
}
2020-05-14
#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
?//使用while循環(huán)
?while (i <= 100)
?{
??if (i % 2 != 0)
??{
???sum += i;
??}
??else
??{
???sum -= i;
????i++;//此語(yǔ)句應(yīng)該放在else復(fù)合語(yǔ)句外。
??}
??
?}
?printf("sum=%d\n", sum);
?return 0;
}
2020-05-17
i++不能放在else里面,因?yàn)榈谝粋€(gè)i=1,i就會(huì)在if里面一直循環(huán),進(jìn)入不了else,i永遠(yuǎn)等于1,成了死循環(huán)。
i++也不能放if前面,這樣會(huì)少了i=1,變成sum=50
else
??{
???sum -= i;
????i++;
??}