题目:4-1-2 求奇数和
读入一批正整数(以零或负数为结束标志),求其中的奇数和。
输入格式:
在一行中读入一批正整数(以零或负数为结束标志)。
输出格式:
对每一组输入,在一行中输出其中的奇数和。
输入样例:
1 3 90 7 0
输出样例:
11
解答:
#include<stdio.h>
int main()
{
int a,b;
b=0;
for(int i; ;i++){
scanf("%d",&a);
if(a%2!=0)
b+=a;
if((a==0||a<0) && a%2!=0){
b=b-a;
break;
}
if((a==0||a<0) && a%2==0)
break;
}
printf("%d",b);
return 0;
}
#include<stdio.h>
int main()
{
int a,b;
b=0;
int i;
for ( ; ;i++){
scanf("%d",&a);
if (a%2!=0){
b+=a;
}if ((a<0 || a==0) && a%2!=0){
b-=a;
break;
}if ((a<0 || a==0) && a%2==0){
break;
}
}
printf("%d",b);
return 0;
}
学习笔记:
- 不知为何这一部分在电脑的编译器上是错误的,无法运行,但提交的答案是对的;
- 【现在来解答了:第一段代码在C++上使用没问题的】
- 【c与c++的区别之一在于c需要先定义,这是c的规则】
- 【for语句里如果没有两个“ ; ;”,就会进入死循环】
- 其实对这段代码还不是很明白,尤其是在随即输入多位数那一块,为啥可以不使用数组?
- 【把scanf()这一段写入for语句里就可以进行循环输入计算了】
- 【新一段代码使我自己重新打的】
提交结果:
//您的支持是我更新的不竭动力!
//希望点个赞或者投个币,支持一下吧!(一键三连也可以哦)
左下角:👇👇👇