使用结构体数组,存储全班同学的姓名、学号和C语言成绩。

使用结构体数组,存储全班同学的姓名、学号和C语言成绩。按成绩对全班同学进行排序。输入学号后,能输出学生信息以及排名。如:输入:20140001,然后输出:姓名:张XX,学... 使用结构体数组,存储全班同学的姓名、学号和C语言成绩。按成绩对全班同学进行排序。输入学号后,能输出学生信息以及排名。如:输入:20140001,然后输出:姓名:张XX,学号:20140001,成绩:90, 排名:3。如果有备注就更好了,谢谢! 展开
 我来答
mr_shj
推荐于2017-09-12 · TA获得超过2679个赞
知道大有可为答主
回答量:1665
采纳率:94%
帮助的人:1361万
展开全部
#include <stdio.h>
#include <string.h>
#define N 4       //假设学生数为N=4个 
struct student{
char sno[14];
char name[10];
int score;
};
int main()

student s[]={
"20140001","张三",90,
"20140002","李四",91,
"20140003","王五",92,
"20140004","阿六",89
};
char sno[14];
int i,j,k;

printf("请输入查询的学生学号:\n");
gets(sno);
for(i=0;i<N;i++)   //查找该生的记录号i 
if (strcmp(sno,s[i].sno)==0) break;
if(i<N){
printf("==========================================\n");
k=0;
for(j=0;j<N;j++) if (s[j].score>s[i].score) k++;  //计算名次 
printf("%14s%10s %d  排名: %d\n",s[i].sno,s[i].name,s[i].score,k+1);
}
else 
printf("查无此人\n");
}
无名大明
2015-05-29 · 超过33用户采纳过TA的回答
知道答主
回答量:225
采纳率:0%
帮助的人:76.9万
展开全部
#include<iostream>
using namespace std;
#include<cstring>
class student
{
public:
void set();
char *getname();

private:
char name[100];
char ID[100];
char sex[100];
char di[100];
char num[100];
};
void student::set()
{

cin>>name>>ID>>sex>>di>>num;
}
char *student::getname()
{
return name;
}

int main()
{
int a,i,j;
student q[10],temp;
cin>>a;
for(i=0;i<a;i++)
{
q[i].set();
}

for(i=0;i<a;i++)
for(j=0;j<a-1-i;j++)
if(strcmp(q[j].getname(),q[j+1].getname())>0)
{ temp=q[j];
q[j]=q[j+1];
q[j+1]=temp;
}
for(i=0;i<a;i++)
cout<<q[i].getname()<<endl;
return 0;
}
追问
亲,这个使出来没有效果,而且好多看不懂啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
禾筠0hK772
2018-08-17
知道答主
回答量:4
采纳率:0%
帮助的人:3174
展开全部
发给我全班的姓名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式