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

(1)输入20个学生的学号、姓名、姓名、c语言成绩。(2)分别统计男女生的人生,求出男女生的平均成绩。(3)按照学生的c语言成绩从高到低进行排序。(4)输出20位学生的成... (1)输入20个学生的学号、姓名、姓名、c语言成绩。
(2)分别统计男女生的人生,求出男女生的平均成绩。
(3)按照学生的c语言成绩从高到低进行排序。
(4)输出20位学生的成绩表
哎最近被C++搞得焦头烂额,求高手啊
展开
 我来答
气吞万里如虎狼
推荐于2017-12-16
知道答主
回答量:8
采纳率:0%
帮助的人:5.9万
展开全部
#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;
}

以后这方面有问题都可以找我
camelfox123
2012-04-27
知道答主
回答量:10
采纳率:0%
帮助的人:4.2万
展开全部
我也不知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可以这样起名啊
2012-04-26
知道答主
回答量:15
采纳率:0%
帮助的人:4.3万
展开全部
如果是c#到可以,我还没学c++
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式