C语言 我编我怎么找不到错误

来源:百度知道 编辑:UC知道 时间:2024/07/02 01:12:28
# define M 10
#include<stdio.h>
int staff[M];
char name[M];
main()
{void input_e(void);
void sort(void);
void search(void);
input_e();
sort();
search();
printf("\n");
}
void input_e(void)
{int i,j,k;
for(i=0;i<M;i++)
{printf("input the %d staff's number:",i+1);
scanf("%d",staff[i]);
printf("input the staff's name:");
scanf("%s",name[i]);
printf("\n");}
}
void sort(void)
{int i,j,k,t;
char tem;
for(j=0;j<M;j++)
for(i=0;i<M-j;j++)
{if(staff[i]>staff[i+1])
{t=staff[i];staff[i]=staff[i+1];staff[i+1]=t;
tem=name[i];name[i]=name[i+1];name[i+1]=tem;}
}
for(i=0;i<M;i++)
{printf("output the %d staff number:",i+1);
printf("%d\n",staff[i]);
printf("output the staff's name:");
printf("%s&

好多小问题啊,char name[M]->char name[M][20];scanf("%d",staff[i])->

scanf("%d",&staff[i]); 改成下面这样能编译通过

# define M 10
#include<stdio.h>
#include<string.h>
int staff[M];
char name[M][10];
void input_e(void)
{int i,j,k;
for(i=0;i<M;i++)
{printf("input the %d staff's number:",i+1);
scanf("%d",&staff[i]);
printf("input the staff's name:");
scanf("%s",name[i]);
printf("\n");}
}
void sort(void)
{int i,j,k,t;
char tem[10];
for(j=0;j<M;j++)
for(i=0;i<M-j;j++)
{if(staff[i]>staff[i+1])
{t=staff[i];staff[i]=staff[i+1];staff[i+1]=t;
strcpy(tem,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],tem);
}
}
for(i=0;i<M;i++)
{printf("output the %d staff number:",i+1);
printf("%d\n",sta