các bạn có thể chỉ giúp mình cách viết code để xuất được 3 người có điểm cao nhất trong mảng ra màn hình được không. mình mới tập tành học C nên còn gà làm.
code mình viết được đến đây rồi, đề bài còn bảo xuất 3 người có số điểm cao nhất mà mình chưa biết phài giải quyết thế nào. các bạn hướng dẫn mình với.
Mã:
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct student{
char id[5], name[31];
int gender, mark;
};
typedef student SV;
SV ds[5];
int nhap();
int xuat();
int sortmark();
int main(int argc, char *argv[])
{
nhap();
xuat();
printf("Danh sach sinh vien da sap xep theo diem");
sortmark();
xuat();
return 0;
}
int nhap(){
printf("***Nhap du lieu cho ds sinh vien***
");
for(int i=0;i<5;i++){
printf("Sinh vien thu %d:
", i+1);
printf("Nhap id: ");
gets(ds[i].id);
printf("Nhap name: ");
gets(ds[i].name);
printf("Nhap gender(1-male/0-female): ");
scanf("%d",&ds[i].gender);
printf("Nhap mark(0-100): ");
scanf("%d",&ds[i].mark);
fflush(stdin);
}
}
int xuat(){
printf("
***Danh sach Sinh Vien***
");
for(int i=0;i<5;i++){
printf("%-5s %-31s %-6s %3d
",ds[i].id,ds[i].name,ds[i].gender==1?"Nam":"Nu",ds[i].mark);
}
}
int sortmark(){
SV temp;
for(int i=0;i<4;i++){
for(int j=i+1;j<5;j++){
if(ds[i].mark<ds[j].mark){
temp=ds[i];
ds[i]=ds[j];
ds[j]=temp;
}
}
}
}
View more random threads:
khi đề cập đến đội hình MU, không thể ko nói tới một trong các câu lạc bộ bóng đá huyền thoại và với tầm ảnh hưởng nhất trong lịch sử của môn thể thao vua. Với hơn 1 thế kỷ còn đó và phát triển,...
Đội hình MU - Manchester United:...