要求输入C的函数

时间:2013-06-14 04:54:52

标签: function average scanf

我正在编写一个代码,要求输入(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的初学者,我不认为我做得对,但我不确定。任何帮助/提示?

3 个答案:

答案 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的语法不太确定,但我认为有效