大学初学C语言 该程序不知道什么地方错了 希望有人能够帮忙修改一下
构造函数 InputName(char StudName[][8]),将8名同学的姓名存入二维数组中;构造函数BubbleSort(char StudName[][8]),用冒泡排序算法按学生的姓名进行排序;构造函数 OutputName(char StudName[][8]),将排序后的结果输出。
#include <stdio.h>
#include <stdlib.h>
#define N 3
int InputName(char StudName[][8])
{
int i;
for(i=0;i<N;i++)
{
printf("请输入第%d个学生的姓名\n",i+1);
gets(StudName[i]);
}
}
int BubbleSort(char StudName[][8])
{
char p[8];
int i,j;
for(i=0;i<N-1;i++)
{
for(j=0;j<N-i-1;j++)
{
if(strcmp(*(StudName+j),*(StudName+j+1)>0))
{
strcpy(p,StudName+j+1);
strcpy(StudName+j+1,StudName+j);
strcpy(StudName+j,p);
}
}
}
}
int OutputName(char StudName[][8])
{
int i;
for(i=0;i<N;i++)
{
printf("%s\n",StudName[i][8]);
//puts(StudName[i][8]);
}
}
int main()
{
char s[N][8];
InputName(s);
BubbleSort(s);
OutputName(s);
}