雅诗兰黛红石榴价目表:C语言问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 08:03:37
大家帮我看看下面这个程序:
main()
{ int j,sum1=0,sum2=0;
for(j=10;j<111;j++)
if(j%2)
sum1+=j;
else
sum2+=j;
print("sum1=%6d;sum2=%6d",sum1,sum2);
}
大家帮我算下这个程序的结果是多少,再说下为什么

sum1 = 3000;sum2 = 3060.
因为,这个程序的循环,从j=10开始,到j=110结束,共101次,其中,有50次j为奇数,51次j为偶数。当j为奇数时,sum1把j加到自身,偶数时sum2把j加到自身。因此,循环结束之后,sum1的值为:11+13+15+……+109=3000,sum2的值为:10+12+14+……+110=3060。

sum1=3000;sum2=3060
sum1是从10到110中的偶数之和
sum2是从10到110中的奇数之和
不过程序有错误!应该这样:
main()
{ int j,sum1=0,sum2=0;
for(j=10;j<111;j++)
{if(j%2)
sum1+=j;
else
sum2+=j;}
printf("sum1=%6d;sum2=%6d",sum1,sum2);
}

首先,纠正个错误,最后一句输出函数应为printf()
程序结果:sum1=3000 sum2=3060
本程序目的是将10至110之间的所有偶数加和为sum1 所有奇数加和sum2
然后输出

sum1= 3000;sum2= 3060
这样才规范,要注意空格

给分我就算给你...呵呵~~