屏幕上输出50以内的奇数100以内,要求5个一行的格式输出

17:02 提问
这个代码为什么输出不对呢求大神指教
/** 本题要求计算给定的一系列正整数中奇数的和。
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
在一行中输出正整数序列中奇数的和。
8 7 4 3 70 5 6 101 -1
int main()
int a[80];
int i,c = 0;
int sum=0;
for(i=0; ; i++)
scanf("%d ",&a[i]);
if(a[i]==0||a[i]&0)
for(i=0; i&=c; i++)
if(a[i]%2!=0)
sum += a[i];
printf("%d",sum);
按赞数排序
int main()
int a[80];
int i = 0,c = 0;
int sum=0;
scanf("%d",&a[i]);
} while (a[i++]&0);
for(i=0; i&c-1; i++)
if(a[i]%2!=0)
sum += a[i];
printf("%d",sum);
8 7 4 3 70 5 6 101 -1
116Press any key to continue
错误输出是什么呢?
错误原因应该是
for(i=0; i&=c; i++)
一行,中间的条件应是
你看看只有一个数的情况就知道了
还有,为什么假定输入最多只有80个数,题目有说最多80个数吗?
下面的代码应该更好
#include &stdio.h&
int main() {
int sum = 0, input = 0;
while (1) {
scanf("%d", &input);
if (input &= 0)
if (input & 1) sum +=
printf("\d", sum);
虽然写的不好
但结果 应该不会有问题
#include "stdafx.h"
#include"iostream"
int _tmain(int argc, _TCHAR* argv[])
int a[80];
int i, c = 0;
int sum = 0;
for (i = 0;; i++)
if (a[i] == 0 || a[i]&0)
for (i = 0; i &c-1; i++)
if (a[i] % 2 != 0)
sum += a[i];
printf("%d", sum);
其他相似问题习题四-参考答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
习题四-参考答案
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩11页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 100以内的奇数和 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信