求平均成绩(编写函数)
时间限制: 1S类别: 结构体->简单
晚于: 2023-12-01 23:55:00后提交分数乘系数50%
问题描述 :
已知学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩在主函数中输入。请编写函数fun,它的功能是:求出传入形参指针所指向学生记录的平均分,并放在该记录的ave成员中。
部分代码如下:
#include <stdio.h>
#define N 8
typedef struct
{ char num[11];
double s[N];
double ave;
}STREC;
void fun(STREC *p)
{
}
int main()
{ STREC s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};
int i;
scanf("%s",s.num);
for(i=0; i<N; i++)
{
scanf("%lf",&s.s[i]);
}
fun(&s);
printf("%s:%7.3f\n",s.num,s.ave);
return 0;
}
输入说明 :
输入信息由一行组成,数据依次为学号以及8个成绩,学号最长不超过10个字符,输入的数据之间由一个空格分隔。
输出说明 :
输出一行信息,首先是学号,后跟一个冒号,再后是平均成绩。平均成绩共占7位,其中包括三位小数,不足7位则左边补空格。学号前后无空格。
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
#define N 8
typedef struct
{ char num[11];
double s[N];
double ave;
}STREC;
void fun(STREC *p)
{
int i;
double sum=0;
for(i=0;i<N;i++)
{
sum+=p->s[i];
p->ave=sum/N;
}
}
int main()
{ STREC s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};
int i;
scanf("%s",s.num);
for(i=0; i<N; i++)
{
scanf("%lf",&s.s[i]);
}
fun(&s);
printf("%s:%7.3f\n",s.num,s.ave);
return 0;
}