求解C语言程序设计题

Python015

求解C语言程序设计题,第1张

完整的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)) 。