急需,急需,C语言结课,按照上面要求整就行了,急需,急需,C语言结课,按照上面要求整就行了,两个题分开
一个函数计算出所有要的结果呗。你这是两个题,还是一个题啊?
第一题:
#include <stdio.h>
void calc(double *a,int n,double *total,double *avg,double *max,double *min)
{
for(int i=0;i<n;i++)
{
*total += a[i];
if(i==0 || *max < a[i])
*max = a[i];
if(i==0 || *min > a[i])
*min = a[i];
}
*avg = *total/n;
}
int main()
{
double a[10];
double total=0,avg=0,max=0,min=0;
int i;
printf("请输入10个学生的C语言成绩:\n");
for(i=0;i<10;i++)
scanf("%lf",&a[i]);
calc(a,10,&total,&avg,&max,&min);
printf("总分:%.1f,平均分:%.1f,最高分:%.1f,最低分:%.1f\n",total,avg,max,min);
return 0;
}
第二题
#include <stdio.h>
typedef struct _student
{
char name[20];
int num;
int age;
double score;
}student;
int main()
{
student stu[10];
double total=0;
int i,max,min;
for(i=0;i<10;i++)
{
printf("请输入第%d个学生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("请输入第%d个学生的学号:",i+1);
scanf("%d",&stu[i].num);
printf("请输入第%d个学生的年龄:",i+1);
scanf("%d",&stu[i].age);
printf("请输入第%d个学生的C语言成绩:",i+1);
scanf("%lf",&stu[i].score);
total += stu[i].score;
if(i==0 || stu[i].score > stu[max].score)
max = i;
if(i==0 || stu[i].score < stu[min].score)
min = i;
}
printf("平均分:%.2lf,最高分:%.2lf,最高分学号:%d,最低分:%.2lf,最低分学号:%d\n",total/10,stu[max].score,stu[max].num,stu[min].score,stu[min].num);
return 0;
}