定义一个结构体数组,并编写函数从文件中读入结构体数组元素

如题所述

第1个回答  2020-06-16
/*按照你的要求,结构体数组,能输入数组元素,并有函数能删除记录*/
/*已经测试过,正确运行。希望能帮助你*/
#include
<stdio.h>
/*最大数组长度*/
#define
REC
10
/*
结构体*/
typedef
struct
sqlist
{
int
data;
//数据
struct
sqlist*
next;
}
Sqlist;
/*数据输入*/
void
input(Sqlist
s[],int
*n)
{
int
i=0;
printf("请输入记录个数\n");
scanf("%d",n);
printf("请输入%d个数据\n",*n);
for(i=0;i<*n;i++)
{
scanf("%d",&s[i].data);
}
printf("数据输入完毕\n");
}
/*数据输出*/
void
print(Sqlist
s[],int
n)
{
int
i;
for(i=0;i<n;i++)
printf("%d
",s[i]);
printf("\n");
}
/*删除记录*/
void
dele(Sqlist
s[],int
*n,int
data)
{
int
i;
for(i=0;
i<*n;
i++)
if(data==s[i].data)
break;
if(i==*n)
{printf("没找到相应记录\n");return;}
for(;i<*n;i++)
s[i]=s[i+1];
(*n)--;
printf("删除成功\n");
}
void
main()
{
Sqlist
sq[REC];
int
data;
int
len=0;
//数组实际长度
input(sq,&len);
print(sq,len);
printf("请输入要删除的数据\n");
scanf("%d",&data);
dele(sq,&len,data);
print(sq,len);
}
相似回答