有10个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总

要求用C语言求解

#include "stdio.h"
#include <stdlib.h>
#define SIZE 10

struct student{
char id[20];
char name[20];
int score[3];
int total;
} stud[SIZE];

void main()
{
int i,j;
struct student temp;
for(i=0;i<SIZE;i++)
{
printf("第%d个学生的信息:\n",i+1);
scanf("%s%s%d%d%d",stud[i].id,stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
stud[i].total=stud[i].score[0]+stud[i].score[1]+stud[i].score[2];
}
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE-i-1;j++)
{
if(stud[j].total<stud[j+1].total)
{
temp=stud[j];
stud[j]=stud[j+1];
stud[j+1]=temp;
}
}
}
printf("\n");
for(i=0;i<SIZE;i++)
printf("%s %s %d %d %d %d\n",stud[i].id,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].total);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-07
# include<stdio.h>
# define N 10
struct student
{
int num;
char name[20];
float score[3];
float total;
float aver;
} ;

void main()
{ void input(struct student s[]);
void sort(struct student s[]);
void print(struct student s[]);
struct student stu[N],* p=stu;
input(p);
sort(p);
print(p);
}

void input(struct student s[])
{ int i;
printf("please enter num,name and 3 scores:\n");
for(i=0;i<N;i++)
{
scanf("%d %s %f %f %f",&s[i].num,s[i].name,&s[i].score[0],&s[i].score[1],&s[i].score[2]);
s[i].total=s[i].score[0]+s[i].score[1]+s[i].score[2];
s[i].aver=s[i].total/3.0;
}
}

void sort(struct student s[])
{
struct student t;
int i,j,k;
for(i=0;i<N-1;i++)
{k=i;
for(j=i+1;j<N;j++)
if(s[j].aver>s[k].aver) k=j;
t=s[k];s[k]=s[i];s[i]=t;
}
}

void print(struct student s[])
{ int i;
printf("the sorted result is:\n");
printf(" num name score1 score2 score3 total aver\n");
for(i=0;i<N;i++)
printf("%5d %-9s %-6.1f %-6.1f %-6.1f %-6.1f %-6.1f\n",s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].total,s[i].aver);
}

...姓名、三门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总...
printf("第%d个学生的信息:\\n",i+1);scanf("%s%s%d%d%d",stud[i].id,stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);stud[i].total=stud[i].score[0]+stud[i].score[1]+stud[i].score[2];} for(i=0;i<SIZE;i++){ for(j=0;j<SIZE-i-...

C语言编程题:有10个学生,每个学生数据包括学号,姓名,3门课的成绩,从键...
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[...

...姓名、3门课程的成绩,从键盘输入10个学生的数据,要求输出学生3门课...
int stuscore[3]; \/\/学生3门课成绩 };int main() { int i, j;student stu[10];\/\/为了简单,此处只输入前3个学生的数据。如果要输入10个学生数据,把for中3改成10即可 for(i = 0; i < 3; i++) { printf("请输入第%d个学生学号:", i + 1);scanf("%s", stu[i].stuNum);...

有10个学生,每个学生的数据包括学号,姓名,三门课的成绩,从文件中...
bw.write("[学号:" + student.getCode() + "," + student.getName() + "] 语文:" + student.getChinese() + ",数学:" + student.getMath() + ",英语:" + student.getEnglish() + " 总分:" + student.getTotal() + ",平均分:" + student.getAverage() + "\\r\\n"); } bw.write("\\...

题目:有10个学生,每个学生的数据包括学号'姓名及3门课的成绩,总成绩和...
int score[4]float avr;}stu[N];main(){int i,j,max,maxi,sum;float average;for(i=0;i<N;i++){printf(“\\ninput scores of student %d:\\n”,i+1);printf(“NO.:”);scanf(“%s”,stu[i].num);printf(“name”);scanf(“%s”,stu[i].name);for(j=0;j<3;j++){printf(...

结构体使用时应注意什么
      程序要求:有十个学生,每个学生的数据包括学号、姓名、三门课程的成绩,从键盘输入10个学生的数据,要求输出三门课程总平均成绩以及最高分的学生的数据(包括学号、姓名、三门课程的成绩和平均成绩)。        在这个...

...有10个学生,每个学生的数据包括学号,姓名,及三门课成绩,总,平均...
include(stdio.h)float score[4];}person[10];int i;printf("请输入10名学生的学号、姓名、及三门成绩:");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->...

...存放10个学生的学号,姓名,三门课的成绩; 急求
、定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩2、从键盘输入10个学生的以上内容,存入文件stud.dat,关闭文件3、打开stud.dat文件,将数据读出,查看是否正确写入,... 、定义一个结构体数组,存放 10 个学生的学号,姓名,三门课的成绩 2、从键盘输入 10 个学生的以上内容,存入文件 stud.dat,关闭...

...姓名、四门课的成绩,从键盘输入十个学生的数据记录,要求完成:_百...
请问你要做什么?如是做表格,就打开MICTOSOFT EXCEL,选取A1:F11,格式>单元格>边框,在第一行写上,学号\\姓名\\语\\数\\英\\政(四门课的名称自己换),在下面一行开始就可以填十个学生的数据记录了.祝你好运!有不明白的,可Hi我

C语言:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩
我直接给你吧,不用等他们了 include<stdio.h> struct student { char name[20];int xue;char sex;int age;double cheng[4];double ping;}stu[1000];int main(){ int i,j,n;double sum;struct student item;scanf("%d",&n);getchar();for(i=0;i<n;i++){ sum=0.0;scanf("%s ...

相似回答
大家正在搜