问一下从键盘输入N个学生的姓名和成绩 按成绩从高到低排序用二维数组怎么做呀
#include<stdio.h>
#include<string.h>
#define N 5
main()
{int i,j;
char s[N][50]
这样开头以后不会写了
#include<stdio.h>
#include<string.h>
#define N 5
main()
{int i,j;
char s[N][50]
这样开头以后不会写了
感觉用结构体比较方便
#include <stdio.h>
struct Student
{
char name[20];
int score;
};
int main()
{
int i, j, n;
scanf("%d", &n);
struct Student stu[n], temp;
for (i=0; i<n; i++)
{
scanf("%s %d", &stu[i].name, &stu[i].score);
}
for (i=0; i<n-1; i++)
{
for (j=0; j<n-1-i; j++)
{
if (stu[j].score < stu[j+1].score)
{
temp = stu[j];
stu[j] = stu[j+1];
stu[j+1] = temp;
}
}
}
for (i=0; i<n; i++)
{
printf("%s %d\n", stu[i].name, stu[i].score);
}
return 0;
}