发布网友
发布时间:2022-03-01 07:40
共5个回答
热心网友
时间:2022-03-01 09:09
源程序如下:
#include<stdio.h>
#include<string.h>
#define SIZE 5
int score[SIZE];char name[SIZE][20];int i,j;
void order(int a[SIZE],char name[SIZE][20]);
void main(void)
{
int max,min,x;
for(i=0;i<SIZE;i++)
{
printf("Please input name and score:");
scanf("%s%d",&name[i],&score[i]);
}
order(score,name);
for(i=SIZE-1;i>=0;i--)
{
printf("%-20s%d\n",name[i],score[i]);
}
}
void order(int a[SIZE],char name[SIZE][20])
{
int m=SIZE-1,n;char temp[20];
while(m>0)
{
for(j=0;j<m;j++)
{
if(a[j]>a[j+1])
{
n=a[j];a[j]=a[j+1];a[j+1]=n;
strcpy(temp,name[j]);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],temp);
}
}
m--;
}
}
热心网友
时间:2022-03-01 10:27
定义一个学生类,比较学生成绩,然后在交换值的时候整体交换。
热心网友
时间:2022-03-01 12:02
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
int i,j,N,temp;
scanf("%d",&N);
char name[N][15],a[15]={'\0'},b;
int score[N];
for(i=0;i<N;i++){
printf("name:");
b=getchar();
gets(name[i]);
printf("score:");
scanf("%d",&score[i]);
}
for(i=0;i<N-1;i++){
for(j=0;j<N-1;j++){
if(score[j]<score[j+1]){
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
strcpy(a,name[j]);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],a);
}
}
}
for(i=0;i<N;i++){
printf("name:%-15ssocre:%4d\n",name[i],score[i]);
}
return 0;
}
热心网友
时间:2022-03-01 13:53
I don't know
热心网友
时间:2022-03-01 16:01
不会