回复 10楼 wp231957
就是我已经这样了但是不能满足三人只能输出一人
#include "stdio.h"
#include "stdlib.h"
struct courses
{
int programming;
int database;
int network;
double score;
};
struct student
{
int num; //学号
char name[10]; //姓名
int sum; //总分
struct courses sc[3];
};
void sumScore(struct student students[])
{
int i;
for (i = 0; i < 3; i++)
{
students[i].sum=students[i].sc[0].programming+students[i].sc[1].network+students[i].sc[2].database;
}
}
int main()
{
struct student students[5];//3名同学
double score;
int level;
int i;
for (i = 0; i < 3; i++)
{
printf("num:");
scanf("%d",&students[i].num);
printf("name:");
scanf("%s",students[i].name);
printf("programming score:");
scanf("%d",&students[i].sc[0].programming);
printf("network score:");
scanf("%d",&students[i].sc[1].network);
printf("database score:");
scanf("%d",&students[i].sc[2].database);
}
sumScore(students);
printf("num\tname\tsum\n");
for (i = 0; i < 3; i++)
{
printf("%d\t%s\t%d\n",students[i].num,students[i].name,students[i].sum);
}
scanf("%lf",&score);
if (score>300||score<0)
{
printf("成绩输入错误!\n");
}
else
{
level=(int)(score/50);
switch(level)
{
case 5: printf("优\n");break;
case 4: printf("优\n");break;
case 3: printf("良\n");break;
case 2: printf("中\n");break;
case 1: printf("差\n");break;
default: printf("劣\n");break;
}
}
return 0;
}
名字学号总分都可以输出就是等级不行