#include(stdio.h)
main()
{struct student
{long number;
char name[20];
float score[4];
}person[10];
int i;
printf("请输入10名学生的学号、姓名、及三门成绩:");
for(i=0;i<10;i++)
scanf("%d,%s,%d,%d,%d",&person[i]->number,person[i]->name,&person->score[0],&person->score[1],&person->score[2]);
for(i=0,i<10;i++)
person->score[3]=(person->score[0]+person->score[1]+person->score[2])/3;
printf("10名同学的情况如下:\n");
for(i=0;i<10;i++)
printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d\n",person[i]->number,person[i]->name[20],person->score[0],person->score[1],person->score[2],person->score[3]);
}
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
#include <stdio.h>
struct Student
{
int num;
char name[20];
float score[3], average;
};
int main(void)
{
int i, j;
struct Student std[10] = {0}, temp;
puts("Please enter information of student : ");
for (i = 0; i < 10; ++i)
{
scanf("%d%s", &std[i].num, std[i].name);
for (j = 0; j < 3; ++j)
{
scanf("%f", &std[i].score[j]);
std[i].average += std[i].score[j];
}
std[i].average /= 3;
}
for (i = 0; i < 9; ++i)
{
for (j = 0; j < 9 - i; ++j)
{
if (std[j].average < std[j + 1].average)
{
temp = std[j];
std[j] = std[j + 1];
std[j + 1] = temp;
}
}
}
for (i = 0; i < 10; ++i)
{
printf("Num=%d Name=%-6s ", std[i].num, std[i].name);
printf("Score1=%0.2f Score2=%0.2f Score3=%0.2f ", std[i].score[0], std[i].score[1], std[i].score[2]);
printf("Average=%0.2f\n", std[i].average);
}
return 0;
}
我要的是学分绩,可否改一下。。。
什么是学分绩, 举个例子
struct Student
{
char name[100];//名字
char num[100];//学号
double class1;//第一门课成绩
double class2;//第二门课成绩
double class3;//第三门课成绩
};
int main()
{
Student student[100];
for (int i = 0; i < 10; i++)//输入学生信息
{
gets(student[i].name);
getchar();//清空键盘缓冲区
gets(student[i].num);
getchar();
scanf("%lf%lf%lf",&student[i].class1,&student[i].class2,&student[i].class3);
}
for (int j = 0; j < 10; j++)//输出学生信息
{
printf("%s\n%s\n%lf\n",student[j].name,student[j].num,(student[j].class1+student[j].class2+student[j].class3)/3.0);
}
return 0;
}