C语言编程题:有10个学生,每个学生数据包括学号,姓名,3门课的成绩,从键盘输入10个学生数据,

求学生的学分绩,并以学分绩从高到低排序
2024-10-31 13:07:27
推荐回答(4个)
回答1:

#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)以及超级电脑等作业平台。



回答2:

#include 
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;
}

回答3:

#include

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;
}

回答4:

35 C语言编程题:有10个学生,每个学生数据包雀搭括学号,姓名,3门课顷弯拿的成绩,从键盘输入闹扮10个学生数据,都一样输入