问答题

编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。
例如,若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include <stdio.h>
float fun(float * a, int n)

void main()

float score[30]=90.5, 72, 80, 61.5, 55), aver;
aver=fun(score, 5);
printf("\nAverage score is:% 5.2f\n", aver);

【参考答案】

float fun(float * a,int n)
{
float av=0.0;
......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

填空题
下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include <stdlib.h> #define N 8 typedef struct list int data; struct 1ist * next; SLIST; void fun(SLIST * h, int x) SLIST * P, * q, * s; s=(SLIST* )malloc(sizeof(SLIST)); ********** found********** s->data=______; q=h; p=h->next; while(p! =NULL && x>p->data) ********** found********** q=______; p=p->next; s->next=p; ********** found********** q->next=______; SLIST * creatlist(int * a) SLIST * h, * p, * q; int i; h=p=(SLIST * )malloc(sizeof(SLIST)); for(i=0; i<N; i ++) q=(SLIST * )malloc(sizeof(SLIST)); q->data=a[i]; p->next=q; p=q; p->next=0; return h; void outlist(SLIST * h) SLIST * p; p=h->next; if(p==NULL) printf( nThe list is NULL! n ); else printf( nHead ); do printf( ->% d , p->data); p=p->next; while(p!=NULL); printf( ->End n ); main() SLIST * head; int x; int a[N]=11, 12, 15, 18, 19, 22, 25, 29; head=creatlist(a); printf( nThe list before inserting: n ); outlist(head); printf( nEnter a number: ); scanf( %d , &x); fun(head, x); printf( nThe list after inserting: n ); outlist(head);