|
5啊哈币
#include <stdio.h>
#define MAXSIZE 30
//struct definition
typedef struct
{
char name[ MAXSIZE ];
char num[ MAXSIZE ];
int score ;
}seqList;
void seqList_Init(seqList L[],int *len);
void seqList_Insert(seqList L[] ,int i,int *len);
void seqList_Delete(seqList L[] ,int i,int *len);
void Output(seqList L[],int len);
void seqList_Init(seqList L[],int *len)
{
int i;//局部变量,作用范围在子函数内部
printf("input the number:",MAXSIZE);
scanf("%d",len);
printf("input the information(name number score) :\n",*len);
for(i=0;i<=*len-1;i++)
{ //printf("input information of %d(name,number,score):",i);
fflush(stdin);
scanf("%s%s%d",&L[i].name,&L[i].num,&L[i].score);
}
}
void Output(seqList L[],int len)
{ int i;
printf("length: %d\n",len);
for(i=0;i<=len-1;i++)
{
printf(" %s %s %4d\n",L[i].name,L[i].num,L[i].score);
}
}
void seqList_Insert(seqList L[],int *len)
{
int i,j;
printf("input location:");
scanf("%d",&i);
for(j=(*len)-1;j>=i;j--)//插入前数据挪位
{ L[j+1]=L[j];//把第i个位置空出来,等待数据插入
}
printf("input information(name,number,socre):");
scanf("%s %s %d",&L[i-1].name,&L[i-1].num,&L[i-1].score);
(*len)++;
}
void seqList_Delete(seqList L[] ,int *len)
{
int i,j;
printf("input delete location:");
scanf("%d",&i);
for(j=i+1;j<=(*len)-1;j++)
{ L[j-1]=L[j];
}
(*len)--;
}
int main()
{
seqList a[10];
int length;
seqList_Init(a,&length);
printf("current data:\n");
Output(a,length);
printf("current data(after insert):\n");
seqList_Insert(a,&length);
printf("current data(after delete):\n");
seqList_Delete(a ,&length);
getchar();
return 0 ;
}
|
最佳答案
查看完整内容
从头改一遍
void seqList_Insert(seqList L[] ,int i,int *len);
void seqList_Delete(seqList L[] ,int i,int *len);
这两个函数原型和下面函数定义冲突了
seqList_Insert(a,&length);
seqList_Delete(a ,&length);
同样,后面的这两句要跟着改
printf("input the number:",MAXSIZE);
这句少了一个占位符?还是后面的MAXSIZE不需要?
printf("input the information(name number score) :\n",*len);
这句一样的 ...
|