【发布时间】:2017-12-15 10:43:26
【问题描述】:
#include <stdio.h>
#include <conio.h>
int getn(int n, int i);
int main()
{
int n, i;
getn(n, i);
getch();
return 0;
}
int getn(int n, int i)
{
int even = 0;
int odd = 1;
int avg;
printf("Enter ten integers: \n");
for (i = 1 ; i <= 10 ; i++)
{
printf("Integer %d: ", i);
scanf("%d", &n);
if ( n % 2 == 0 )
{
even = even + n;
}
else
{
odd = odd * n;
}
}
avg = even / 10;
printf("\n\nAverage of even numbers: %d", avg);
printf("\nProduct of odd numbers: %d", odd);
}
似乎偶数计算有效,但当涉及到奇数时,它给出了错误的答案。请帮忙 我们的讲师希望我们使用循环或迭代。没有数组。请帮帮我
【问题讨论】:
-
格式化和缩进对编译器来说并不重要,但对于试图阅读代码的人来说却很重要。请编辑您的问题,使其更具可读性。
-
如果 avg 的结果是小数怎么办? int -> float,想想这个
-
为什么要将
n和i传递给getn?它们只是在getn中用作局部变量,在main中未定义。 -
确保数字的乘积适合 int。或者尝试使用 long 或 float
-
你得到了什么,与你的预期相比? codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question