定义一个包含20个学生基本情况(包括学号、姓名、性别、c语言成绩)的结构体数据,编程实现下列功能:

(1)输入20个学生的学号、姓名、姓名、c语言成绩。
(2)分别统计男女生的人生,求出男女生的平均成绩。
(3)按照学生的c语言成绩从高到低进行排序。
(4)输出20位学生的成绩表
哎最近被C++搞得焦头烂额,求高手啊

#include<iostream>
#include<string.h>
using namespace std;

struct stu
{
int num;
char name[20];
char sex[6];
int grade;
} stu[21];

int main()
{
int i,j=0,j20=0,k=0,k20=0;
for(i=0;i<20;i++)
{
scanf("%d %s %s %d",&stu[i].num,stu[i].name,stu[i].sex,&stu[i].grade);
if(strcmp(stu[i].sex,"man")==0) {j++;j20+=stu[i].grade;}
if(strcmp(stu[i].sex,"woman")==0) {k++;k20+=stu[i].grade;}
}
printf("\n男生人数:%d,男生平均成绩:%.2f",j,float(j20/j));
printf("\n女生人数:%d,女生平均成绩:%.2f",k,k20/j);
int m,n;
for(m=0;m<20;m++)
for(n=m+1;n<20;n++)
if(stu[m].grade<stu[n].grade) {stu[20]=stu[m];stu[m]=stu[n];stu[n]=stu[20];}
for(i=0;i<20;i++)
printf("\n%d %s %s %d",stu[i].num,stu[i].name,stu[i].sex,stu[i].grade);
return 0;
}

以后这方面有问题都可以找我
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-27
我也不知道
第2个回答  2012-04-26
如果是c#到可以,我还没学c++
相似回答