69,336
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<string.h>
#define M 5 //假设有5个学生
#define N 4 //假设有4门课程
#define MAX 10 //学号固定为9位
/*
定义一个学生结构体,包含学号和各科成绩
*/
struct student
{
char number[MAX]; //学号
float grade[N]; //各科成绩
};
struct student student_grade[M];
int main()
{
int a=0,c=0;
float student_avg[M];
for(a=0;a<M-1;a++)
{
printf("请输入学生学号:\n");
scanf("%s",student_grade[a].number);
fflush(stdin);
student_grade[a].number[MAX-1]='\0';
printf("请输入该学生的各科成绩:\n");
for(c=0;c<N;c++)
{
scanf("%f",&(student_grade[a].grade[c]));
}
}
return 0;
}
#include<stdio.h>
#include<string.h>
#define M 2 //假设有5个学生
#define N 4 //假设有4门课程
#define MAX 10 //学号固定为9位
/*
定义一个学生结构体,包含学号和各科成绩
*/
struct student
{
char number[MAX]; //学号
double grade[N]; //各科成绩
};
struct student student_grade[M];
/*
求每个学生的平均成绩
*/
void studentavg(double student_avg[])
{
int a=0,b=0;
double sum=0;
for(a=0;a<M;a++)
{
sum=0;
for(b=0;b<N;b++)
{
sum+=student_grade[a].grade[b];
}
student_avg[a]=sum/N;
}
}
/*
求每门课的平均成绩
*/
void courseavg(double course_avg[])
{
int a,b;
double sum;
for(a=0;a<N;a++)
{
sum=0;
for(b=0;b<M;b++)
{
sum+=student_grade[b].grade[a];
}
course_avg[a]=sum/M;
printf("%f ",course_avg[a]);
}
}
int main()
{
int a=0,b=0,c=0;
int ch;
double avg[M];
double course_avg[N];
for(a=0;a<=M-1;a++)
{
printf("请输入学生学号:\n");
scanf("%s",student_grade[a].number);
student_grade[a].number[MAX-1]='\0';
printf("请输入该学生的各科成绩:\n");
for(c=0;c<N;c++)
{
scanf("%lf",&(student_grade[a].grade[c])); //每次输入以回车结束
}
while((ch = getchar()) != '\n' && ch != EOF)
;
}
studentavg(avg);
courseavg(course_avg);
/*
输出学生平均成绩
*/
for(a=0;a<M;a++)
{
for(b=0;b<9;b++)
{
putchar(student_grade[a].number[b]);
}
printf("学生的平均成绩是:");
printf("%.3f \n",avg[a]);
}
/*
输出课程平均成绩
*/
for(a=0;a<N;a++)
{
printf("课程%d的平均成绩是:",a+1);
printf("%.3f \n",course_avg[a]);
}
return 0;
}
#include<stdio.h>
#include<string.h>
#define M 2 //假设有5个学生
#define N 4 //假设有4门课程
#define MAX 10 //学号固定为9位
/*
定义一个学生结构体,包含学号和各科成绩
*/
struct student
{
char number[MAX]; //学号
double grade[N]; //各科成绩
};
struct student student_grade[M];
/*
求每个学生的平均成绩
*/
studentavg(double student_avg[])
{
int a=0,b=0;
double sum=0;
for(a=0;a<M;a++)
{
sum=0;
for(b=0;b<N;b++)
{
sum+=student_grade[a].grade[b];
}
student_avg[a]=sum/N;
}
}
/*
求每门课的平均成绩
*/
courseavg(double course_avg[])
{
int a,b;
double sum;
for(a=0;a<N;a++)
{
sum=0;
for(b=0;b<M;b++)
{
sum+=student_grade[b].grade[a];
}
course_avg[a]=sum/M;
printf("%f ",course_avg[a]);
}
}
int main()
{
int a=0,b=0,c=0;
double avg[M];
double course_avg[N];
for(a=0;a<=M-1;a++)
{
printf("请输入学生学号:\n");
scanf("%s",student_grade[a].number);
student_grade[a].number[MAX-1]='\0';
printf("请输入该学生的各科成绩:\n");
for(c=0;c<N;c++)
{
scanf("%d",&(student_grade[a].grade[c])); //每次输入以回车结束
}
}
studentavg(avg);
courseavg(course_avg);
/*
输出学生平均成绩
*/
for(a=0;a<M;a++)
{
for(b=0;b<9;b++)
{
putchar(student_grade[a].number[b]);
}
printf("学生的平均成绩是:");
printf("%d \n",avg[a]);
}
/*
输出课程平均成绩
*/
for(a=0;a<N;a++)
{
printf("课程%d的平均成绩是:",a+1);
printf("%f \n",course_avg[a]);
}
return 0;
}