发布网友 发布时间:2022-06-23 12:30
共3个回答
热心网友 时间:2023-10-03 01:59
#include
#include
int main(void)
{
char cName[5][10],temp[10];
float fScore[5],ftemp;
int i,j,k;
printf("输入学生的姓名和成绩:\n");
for(i=0;i<5;i++)
{
printf("cName[%d]是:",i);
scanf("%s",cName[i]);
printf("成绩为:");
scanf("%f",&fScore[i]);
}
for(i=0;i<5;i++)
{
k=i;
for(j=i+1;j<5;j++)
if(fScore[k]>fScore[j])
{
k=j;}
if(k!=i)
{ strcpy(temp,cName[i]);
strcpy(cName[i],cName[k]);
strcpy(cName[k],temp);
ftemp=fScore[i];
fScore[i]=fScore[k];
fScore[k]=ftemp;
}
}
printf("成绩由低到高的顺序为:\n");
for(i=0;i<5;i++)
{
printf("%s的成绩为%f\n",cName[i],fScore[i]);
}
return 0;
}
追答很少有人用你这个方法的,一般都用结构体处理,把有关联的成员都放到结构体中,让其他人便于理解它们两者的关系,也方便处理。
热心网友 时间:2023-10-03 01:59
意思是把你要插入的数跟数组中的元素比较,因为插入前已经排序了,所以要插入的数字直接跟数组从后面开始比较,如果要插入的数比数组中的数要小,则吧数组元素往后移动,直到比数组元素大则插入后面热心网友 时间:2023-10-03 01:59
1、数组A,B直接读取到C中,然后二分查找;