习题4-1 求奇数和 (15 point(s))
本题要求计算给定的一系列正整数中奇数的和。
输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出正整数序列中奇数的和。
输入样例:
8 7 4 3 70 5 6 101 -1
结尾无空行
输出样例:
116
参考答案:
答案1
写的长了,while判断条件改一下可以缩成一行的(一个分号结尾),懒得改了就这样吧
#include<stdio.h>
int main()
{
int n,sum=0;
while(1==scanf("%d",&n))
{
//当读到零或负整数时,表示输入结束,该数字不要处理。
if(n<=0) goto exit1;
//在一行中输出正整数序列中奇数的和。
else if(n%2) sum+=n;
}
exit1:
printf("%d",sum);
}
答案2.
还是写上好了.................
#include<stdio.h>
int main()
{
int n,sum=0;
while(1==scanf("%d",&n) && n>0)if(n%2)sum+=n;
printf("%d",sum);
}