2个回答
展开全部
/*按照你的要求,结构体数组,能输入数组元素,并有函数能删除记录*/
/*已经测试过,正确运行。希望能帮助你*/
#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);
}
/*已经测试过,正确运行。希望能帮助你*/
#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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询