完整的fun函数代码如下:
int fun(STU a[], int n, STU h[]) {
int i, k = 0
double avg = 0
for (i = 0i <ni++) {
a[i].sum = a[i].s1 * 0.7 + a[i].s2 * 0.3
avg += a[i].sum// 先计算总分
}
avg = avg / n// 再计算平均分
for (i = 0i <ni++) {
if (a[i].sum >avg) { // 统计平均分以上的学生
strcpy(a[i].level, "均分以上")
h[k++] = a[i]
}
}
return k
}
运行结果如下:
可见成功输出了平均分以上的学生信息,望采纳~
1. 在C程序中,只能用于整型变量的运算符是___ 求余(%)___。2. 在C语言中,char类型变量占 2 个字节。
3. 若a已定义为double类型,请写出从键盘给a输入数据的语句 scanf("%lf",&a) 。
4. 为使以下程序能正确运行,请填空。
#include<stdio.h>
#include<math.h>
main()
{ double x, y
scanf("%lf%lf",&x,&y)
printf("y=%f\n", pow(x,y))}
5. 以下程序执行后的输出结果是 -2。
main()
{ int m=3,n=4,x
x=-m++
x=x+8/++n
printf("%d\n",x) }
6. 以下程序的输出结果是 10 20 0 。
main()
{ int a,b,c
a=10b=20c=(a%b<1)||(a/b>1)
printf("%d %d %d\n",a,b,c) }
7. 以下程序中调用fun函数,对主函数x和y中的值进行对调。请填空。
void fun( double *a, double *b)
{ double x
x=*a *a=*b *b=x }
main()
{ double x,y
printf(“Enter x, y : “)scanf(“%lf%lf”,&x,&y)
fun( x,y)
printf(“x=%f y=%f\n”,x,y )}
8. C语言规定:字符串以 '\0' 作为结束标志。
9. 以下程序的输出结果是3。
long fun( int n)
{ long t
if ( n==1 || n==2 ) t=1
else t=fun(n-1) + fun(n-2)
return ( t )
}
main( )
{ printf(“%d\n”,fun(4) )}
10. 设有定义:
struct date
{ int year, month, day } d1
请写出利用输入语句,为变量d1中的year成员从键盘输入数值的语句 scanf ("%d",&(d1.year)) 。