c语言编程学生成绩

来源:百度知道 编辑:UC知道 时间:2024/06/26 05:12:05
向计算机输入某班40名同学的学号(40以内的正整数)姓名,性别和《C语言程序设计》的课程考试成绩,要求计算机输出全班的平均分,按名次输出同学的姓名和学号
各位大侠们,帮帮忙啦……给我看看这个怎么编,有朋友帮编出来为以下但是执行时说有一个错误,做不出来,所以各位大侠们给看看,找找错,重编一个也成。谢谢啦……
#include <stdio.h>

struct student{
int num;
char name[10];
char sex;
int score;};
struct student stu[40];

void main()
{int m=40,temp;
float all=0,average;
printf("请输入学生信息,以逗号间隔:\n");
for(int n=0;n<m;n++)
{scanf("d%,s%,c%,d%",&stu[n].num,&stu[n].name,&stu[n].sex,&stu[n].score);
all+=stu[n].score;
}
average=all/(float)m;
for(int i=39;i>=0;i--)
{
for (int j=1;j<=i;j++)
{
if (stu[j-1].score>stu[j].score)
{
temp=stu[j-1].score;
stu[j-1].score=stu[j].score;
stu[j].score=temp;
}
}
}
printf("全班平均分:f%\n",average);
printf("同学的名次:&

#include <stdio.h>
#include "string"

struct student{
int num;
char name[10];
char sex[10];
int score;};
student stu[40];

void main()
{int m=40;int n;student temp;
float all=0,average;
printf("请输入学生信息,以空格间隔:\n");
for(n=0;n<m;n++)
{scanf("%d%s%s%d",&stu[n].num,stu[n].name,stu[n].sex,&stu[n].score);
all+=stu[n].score;
}
average=all/(float)m;
for(int i=m-1;i>=0;i--)
{
for (int j=1;j<=i;j++)
{
if (stu[j-1].score<stu[j].score)
{
temp.score=stu[j-1].score;
temp.num=stu[j-1].num;
strcpy(temp.name,stu[j-1].name);
strcpy(temp.sex,stu[j-1].sex);
stu[j-1].score=stu[j].score;
stu[j-1].num=stu[j].num;
strcpy(stu[j-1].name,stu[j].name);
strcpy(stu[j-1].sex,stu[j].sex);
stu[j].score=temp.score;
stu[j].num=temp.num;
strcpy(stu[j].name,temp.name);