用c语言对学生姓名及成绩排序
时间: 2023-09-06 13:14:14 浏览: 73
可以使用以下的c语言代码进行学生姓名及成绩的排序:
```
#include<stdio.h>
#include<string.h>
struct Student{
char name[50];
int score;
};
int main(){
int n,i,j;
printf("Enter number of students:\n");
scanf("%d",&n);
struct Student s[n],temp;
printf("Enter name and score of students:\n");
for(i=0;i<n;i++){
scanf("%s %d",s[i].name,&s[i].score);
}
for(i=0;i<n-1;i++){
for(j=0;j<n-i-1;j++){
if(strcmp(s[j].name,s[j+1].name)>0){
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
printf("Sorted student list by name:\n");
for(i=0;i<n;i++){
printf("%s %d\n",s[i].name,s[i].score);
}
for(i=0;i<n-1;i++){
for(j=0;j<n-i-1;j++){
if(s[j].score>s[j+1].score){
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
printf("Sorted student list by score:\n");
for(i=0;i<n;i++){
printf("%s %d\n",s[i].name,s[i].score);
}
return 0;
}
```
这段代码使用冒泡排序对学生姓名和分数分别进行了排序,并输出了排序后的结果。用户需要输入学生数量和每个学生的姓名和分数。