求问一道c语言编程题目,能给一个参考吗?

 我来答
匿名用户
2017-04-24
展开全部
#include <stdio.h>
#include <string.h>

typedef struct
{
char name[10];
double grade;
}student;

student stu[5];

void input()
{
int i;
for(i = 0; i < 5; ++i)
{
scanf("%s%lg", stu[i].name, &stu[i].grade);
}
}

void display()
{
int i;
for(i = 0; i < 5; ++i)
{
printf("%s:%g\n", stu[i].name, stu[i].grade);
}
}

void sort()
{
int i, j, k;
double t;
char temp[10];
for(i = 0; i < 4; ++i)
{
k = i;
for(j = i + 1; j < 5; ++j)
{
if(stu[j].grade > stu[k].grade)
{
k = j;
}
}
if(k > i)
{
t = stu[i].grade;
stu[i].grade = stu[k].grade;
stu[k].grade = t;
strcpy(temp, stu[i].name);
strcpy(stu[i].name, stu[k].name);
strcpy(stu[k].name, temp);
}
}
}

void search(char *name)
{
int i;
for(i = 0; i < 5; ++i)
{
if(!strcmp(name, stu[i].name))
{
printf("%s:%g\n", stu[i].name, stu[i].grade);
break;
}
}
if(i == 5)
{
printf("查找失败\n");
}
}

int main()
{
char name[10];
input();
putchar('\n');
display();
putchar('\n');
sort();
display();
putchar('\n');
scanf("%s", name);
search(name);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式