為什么我這種得出的結果是2550
#include<stdio.h>
int main()
{
int i=1,sum=0,flag=1;
for(i=1;i<=100;i++)
{
if(i%2!=0)
{
sum+=i;
}
else if(i%2==0)
{
flag=-flag;
sum=sum+i*flag;
}
}
printf("%d\n",sum);
return 0;
}
#include<stdio.h>
int main()
{
int i=1,sum=0,flag=1;
for(i=1;i<=100;i++)
{
if(i%2!=0)
{
sum+=i;
}
else if(i%2==0)
{
flag=-flag;
sum=sum+i*flag;
}
}
printf("%d\n",sum);
return 0;
}
2018-11-02
舉報
2018-11-14
提三個小問題
分析你的程序
i=2時,進入else語句,flag=-1,
? ? ?? i=3時,flag不變
? ? ?? i=4時,又進入else語句,flag=1,
? ? ?? .........
? ? ?? 也就是你應該把flag=-flag提到條件語句之外或者直接把flag賦值為-1,每次乘一下不用再變號
2.注意一下輸出格式為“sum=-50”,你的輸出語句也要改一下
3.for語句中嵌套的條件語句第二個if可以不要,我也是剛學C語言,覺得你的第二個if沒有對應的else不完美QAQ
2018-11-02
這題是讓你求的答案是多少