我正在编写一个代码,要求输入(scanf)一次输入一个正数,输入负数时,将显示所有数字的平均值。
到目前为止,我有:`
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&d);
if(a<0)
printf("%d\t",a);
else if (b<0)
printf("%d\t",a);
else if (d<0)
printf("%d\t",(a+b)/2);
我只是编程atm的初学者,我不认为我做得对,但我不确定。任何帮助/提示?
答案 0 :(得分:0)
#include <stdio.h>
int main()
{
int sum = 0;
int counter = 0;
int a = 0;
do {
scanf("%d", &a);
if (a < 0)
if (counter != 0)
printf("%f", (float)sum/counter);
else
printf("%s", "No numbers entered.");
else
sum += a;
counter++;
} while (a >= 0);
return 0;
}
答案 1 :(得分:0)
运行它,看看这是否是你要找的东西:
#include <stdio.h>
main()
{
int n,sum=0,i=0;
while(1)
{
scanf("%d",&n);
if(n<0)
break;
sum+=n;
i++;
}
(i!=0)?(printf("%f",(float)sum/i)):(printf("0"));
}
答案 2 :(得分:0)
有一个循环,你可以:
double input, sum = 0.0;
int count = 0;
do
{
scanf("%d\t",&input)
count++;
sum += input;
if(input < 0)
printf("%d", &(sum/count))
} while (input >= 0);
我对printf的语法不太确定,但我认为有效