本题要求计算给定的一系列正整数中奇数的和。
输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出正整数序列中奇数的和。
输入样例:
8 7 4 3 70 5 6 101 -1
输出样例:
116
这道题难度确实不大,首先是输入的问题—没有确定输入几个数,可以是三个也可以是无穷个,其次是判断奇数然后想加,最后输出。这里有个条件如果遇到零或者负整数就直接退出。
循环结构呢我们可以采用for循环也可以采用while循环,
但是
for循环有个判断条件i<n||i>n,这里没有次数,那么咱们就把它删掉,
while循环,由于没有限制次数,那么我们用反结构,do{}while;结构,先判断之后再输出。
代码如下:
#include<stdio.h>
int main(){
int n,sum=0;
// for(int i=0;;i++){ //for循环
// scanf("%d",&n);
// if(n<=0)
// break;
// else{
// if(n%2!=0)
// sum+=n;
// }
// }
do{ //while循环
scanf("%d",&n);
if(n<=0)
break;
else{
if(n%2!=0)
sum+=n;
}
}while(n>=0);
printf("%d",sum);
return 0;
}
这篇博客介绍了一道编程题目,要求使用C语言编写程序,计算输入的一系列正整数中奇数的和。程序采用do-while循环结构,遇到零或负数时终止。输入样例为包含一个负数的数列,输出样例显示奇数和为116。代码展示了如何判断并累加奇数,以及处理输入结束的条件。

1053

被折叠的 条评论
为什么被折叠?



