c语言高手帮忙(在线等)

来源:百度知道 编辑:UC知道 时间:2024/06/01 18:19:48
#include "stdio.h"
#include"string.h"

void input(char studno[][8],float score[8])
{int i;
for(i=0;i<=7;i++)
{printf("请输入姓名和成绩\n");
scanf("%s\n",studno[i]);
scanf("%lf",&score[i]);
}
}
void selectsort(char studno[][8],float score[8])
{int i,j,k=0;
float t;

char temp[8];
for(i=0;i<=6;i++)
{for(j=i+1;j<=7;j++)
if(score[k]>score[j])
k=j;
if(k!=i)
{t=score[i];
score[i]=score[k];
score[k]=t;
strcpy(temp,studno[i]);
strcpy(studno[i],studno[k]);
strcpy(studno[k],temp);
}

}
void output(char studno[][8],float score[8])
{int i;
for(i=0;i<=7;i++)
printf("%s\n %lf\n",studno[i],s

void selectsort(char studno[][8],float score[8]) 这个函数体内少个大括号。(右侧的大括号 })

是不是读取数据时错乱?
试试修改为scanf("%lf\n", &score[i]);
即输入一个成绩后按回车,在继续下一个学生名的输入。