#include
int main()
{
float avg (float b[],float n);
float a[10]={96.0,86.0,95.0,75.5,64.5,91.5,89.5,55.0,89.5,90.0};
float x,d;
printf("1.输出平均分\n2.输出及格和不及格人数\n0.退出\n");
printf("请选择:");
scanf("%d",&d);
if (d==1)
{x=avg(a,10);
printf("%.f\n",x);
}
}
float avg (float b[],float n)
{
float j,sum=0;
int i;
for(i=0;i<10;i++)
sum=sum+b[i];
j=sum/10;
return j;
}
这个加了if语句后就不出结果了,如果去了if语句还是可以运行的,有没有人解释一下啊,谢谢了
回答:改一下输入,改为 int 类型的
#include<stdio.h>
float avg(float b[], float n);
int main()
{
float a[10] = { 96.0, 86.0, 95.0, 75.5, 64.5, 91.5, 89.5, 55.0, 89.5, 90.0 };
float x;
int d;
printf("1.输出平均分\n2.输出及格和不及格人数\n0.退出\n");
printf("请选择:");
scanf("%d", &d);
if (d == 1)
{
x = avg(a, 10);
printf("%.f\n", x);
}
}
float avg(float b[], float n)
{
float j, sum = 0;
int i;
for (i = 0; i < 10; i++)
sum = sum + b[i];
j = sum / 10;
return j;
}
d不是float型吗,咋%d来获取?
d改为int类型