发布网友 发布时间:2022-04-22 00:10
共1个回答
热心网友 时间:2023-06-24 10:47
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 100
struct score
{
float math;
float english;
float computer;
};
struct student
{
int number;
char name[20];
struct score sco;
float average;
};
struct student stu[N];
float input_score(int);//计算学生平均成绩
void print_student2(void);//显示表头
void print_student3(int);//显示学生信息
void print_student1(int);//显示全部学生资料
void print_student1(int a)//显示全部学生资料
{
printf("本班所有学生具体信息如下\n");
print_student2();
for(int i=0;i<a;i++)
{
print_student3(i);
}
}
void print_student3(int a)//显示学生信息
{
printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);
}
void print_student2(void)//显示表头
{
printf(" 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩\n");
}
void input_student1(int a)//输入学生信息
{
printf("学号:");
scanf("%d",&stu[a].number);
getchar();
printf("姓名:");
gets(stu[a].name);
printf("数学成绩:");
scanf("%f",&stu[a].sco.math);
printf("英语成绩:");
scanf("%f",&stu[a].sco.english);
printf("计算机成绩:");
scanf("%f",&stu[a].sco.computer);
}
float input_score(int a)//计算学生平均成绩
{
return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;
}
//void main()
int main()
//最好是int main
{
struct student stu[N];
input_score(student);
print_student2(student);
print_student3(student);
print_student1(student);
print_student1(student);
return 0;
//加上返回值
}
追问这个程序也不是删除字符串中的非字母字符吧,而且要用指针