如何写一个c程序要求输入多个正整数时输出平均值输入负数时输出0

#include
int main()
{
int n,a=0;
float sum=0.0;
while(1)
{
scanf("%d",&n);
if(n>0)
a=a+1;
if(n<0)
break;
sum+=n;
}
float b;
b=sum/(a);
printf("%.1f",b);
}
怎么写能让输入第一个数为负数时输出0


#include <stdio.h>
#include <stdlib.h>
int main() {
    int n=0,x=0;
    printf("输入负数自动结束:"); 
    float sum=0.0;
    do {
        scanf("%d",&x);
        if(x<0) {
            break;    //遇到负数跳出累加 
        } else {
            sum+=x;    //累加和 
            n++;    //计数器 
        }
    } while(1);
    printf("%.1f",sum/n);    //求均值并输出 
}

在if(n<0)后面加上
a += 1;
sum += 0;就可以啦!