typedef struct
{
int arr[maxsize];
int len;
}stu;
stu s;
void insert(int val)
{
for(int i=0;i<s.len;i++)
{
s.arr[i]=val;
}
}
void change(int data,int val)
{
for(int i=0;i<s.len;i++)
{
if(s.arr[i]==val)
{
s.arr[i]=data;
}
}
}
void del(int data)
{
for(int i=0;i<s.len;i++)
{
if(s.arr[i]==data)
{
for(int n=i;n<s.len;n++)
{
s.arr[n]=s.arr[n+1];
}
}
}
s.len--;
}
void find(int data)
{
for(int i=0;i<s.len;i++)
{
if(s.arr[i]==data)
{
printf("下标 %d 值为 %d",i,s.arr[i]);
}
}
printf("\n");
}
void print(stu s)
{
for(int i=0;i<s.len;i++)
{
printf("%d ",s.arr[i]);
}
printf("\n");
}
int main()
{
insert(1);
print(s);
change(34,5);
print(s);
del(6);
print(s);
find(7);
print(s);
return 0;
}
稍微调了一下
你没初始化s.len,导致s.len一直是0,所以没有任何输出
有帮助望采纳
#include <stdio.h>
typedef struct
{
int arr[100];
int len;
} stu;
stu s;
void insert(int val)
{
for (int i = 0; i <val; i++)
{
s.arr[i] = i;
}
}
void change(int data, int val)
{
for (int i = 0; i < s.len; i++)
{
if (s.arr[i] == val)
{
s.arr[i] = data;
}
}
}
void del(int data)
{
for (int i = 0; i < s.len; i++)
{
if (s.arr[i] == data)
{
for (int n = i; n < s.len; n++)
{
s.arr[n] = s.arr[n + 1];
}
}
}
s.len--;
}
void find(int data)
{
for (int i = 0; i < s.len; i++)
{
if (s.arr[i] == data)
{
printf("下标 %d 值为 %d", i, s.arr[i]);
}
}
printf("\n");
}
void print(stu s)
{
for (int i = 0; i < s.len; i++)
{
printf("%d ", s.arr[i]);
}
printf("\n");
}
int main()
{
s.len = 100;
insert(100);
printf("%d\n", s.len);
print(s);
change(34, 5);
print(s);
del(6);
print(s);
find(7);
print(s);
return 0;
}