前降支分支:【悬赏20分】题目是在键盘上输入学生编号以及学生个数,用冒泡排序之后输出排序后的结果,

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 07:32:57
题目是在键盘上输入学生编号以及学生个数,用冒泡排序之后输出排序后的结果,但是我这个就是输出不了排序后的结果,到底我还有哪些地方要改,请各位大侠指教!!小弟感激万分!

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAX 10
char str[MAX][10];
void accept()
{
int y;
int n;

printf("\n请输入需要写入的学生个数:");
scanf("%d",&n);

for(y=1;y<=MAX;y++)
{

printf("\n请输入第%d个学生编号:",y);
fflush(stdin);
gets(str[10]);
if(y>=n)

break;

}

}
void sort(char str[][10],int y)
{
char k[10];
int i,j;

for(i=1;i<y;i++)
{
for(j=1;j<=y-i;j++)
{
if(strcmp(str[j-1],str[j])>0)
{
strcpy(k,str[j-1]);
strcpy(str[j-1],str[j]);
strcpy(str[j],k);
}
}
}
return(str,y);

}
void main()
{
int i;
accept();
sort(str,MAX);
printf("\n排序后的学生编号为:");

for(i=0;i<MAX;i++)
{
puts(str[i]);
}

}

好像冒泡算法有问题,应该是for(i=0;i<y;i++)吧

for(i=0;i<y;i++) 这个对着呢 ```