C 数组操作(插入元素)
这段代码有什么问题,我不能在数组中插入超过9个元素?这段代码应该允许用户在数组中输入多达100个不同的元素 这里是插入函数C 数组操作(插入元素),c,arrays,C,Arrays,这段代码有什么问题,我不能在数组中插入超过9个元素?这段代码应该允许用户在数组中输入多达100个不同的元素 这里是插入函数 #include <stdio.h> #include <stdlib.h> int y = 0; void insert(int a[]) { printf("enter an element to insert\n"); int p, i, x = 0, z = 0, k = 0; scanf("%i", &x);
#include <stdio.h>
#include <stdlib.h>
int y = 0;
void insert(int a[])
{
printf("enter an element to insert\n");
int p, i, x = 0, z = 0, k = 0;
scanf("%i", &x);
if (y < 100)
{
if (y != 0)
{
for (i = 0; i < y; i++)
{
if (a[i] == x)
{
printf("Element %d already exists, No change", x);
z = 1;
break;
}
}
if (z == 0)
{
for (i = 0; i < y; i++)
{
if (x < a[i])
{
p = i;
y++;
k = 1;
break;
}
}
if (z == 0 && k == 0)
{
y++;
p = y - 1;
a[p] = x;
}
if (z == 0 && k == 1)
{
for (i = (y - 1); i > p; i--)
{
a[i] = a[i - 1];
}
a[p] = x;
printf("\nElement %d is inserted \n y is %d", x, y);
}
}
}
else
{
y++;
a[y - 1] = x;
printf("\nElement %d is inserted", x);
}
}
else
printf("array is full");
}
int main()
{
int x=0;
int a[y];
while(x!=2)
{
printf("\nEnter your choice: 1) insert 2)exit \n");
scanf("%d",&x);
switch (x)
{
case 1:
insert(a);
break;
case 2:
printf("Goodbye");
break;
}
}
return 0;
}
#包括
#包括
int y=0;
无效插入(int a[])
{
printf(“输入要插入的元素\n”);
int p,i,x=0,z=0,k=0;
scanf(“%i”和“&x”);
如果(y<100)
{
如果(y!=0)
{
对于(i=0;ip;i--)
{
a[i]=a[i-1];
}
a[p]=x;
printf(“\n插入了元素%d\n y是%d”,x,y);
}
}
}
其他的
{
y++;
a[y-1]=x;
printf(“\n插入元素%d”,x);
}
}
其他的
printf(“数组已满”);
}
int main()
{
int x=0;
int a[y];
while(x!=2)
{
printf(“\n输入您的选择:1)插入2)退出\n”);
scanf(“%d”和&x);
开关(x)
{
案例1:
插入(a);
打破
案例2:
printf(“再见”);
打破
}
}
返回0;
}
必须事先知道阵列的大小。在我的例子中,大小是100(int a[100];),否则将出现溢出。必须事先知道数组的大小。在我的情况下,大小是100(int a[100];),否则将出现溢出。请-将代码正确缩进。如果缩进不正确,则很难阅读和理解。准备好要发布的代码,确保其中没有选项卡。复制并粘贴到编辑窗口中,忽略预览,并确保它看起来正确(您没有任何选项卡,是吗?)。选择代码,并使用编辑框上方的{}
按钮将其缩进。现在查看预览,确保它看起来仍然正常。如果你没有标签,它应该是好的。如果你没有猜到的话,制表符真的会把事情搞糟。你通常应该用换行符来完成消息,而不是(或者)用换行符开始。在许多类型的计算机上,在生成换行符之前不会显示输出。请提供。显示调用方代码。请使用有意义的变量名。不可能理解此代码中的变量k
和z
表示什么代码>是inta[0]代码>:数组不会在C中自动扩展。请-将代码正确缩进后发布。如果缩进不正确,则很难阅读和理解。准备好要发布的代码,确保其中没有选项卡。复制并粘贴到编辑窗口中,忽略预览,并确保它看起来正确(您没有任何选项卡,是吗?)。选择代码,并使用编辑框上方的{}
按钮将其缩进。现在查看预览,确保它看起来仍然正常。如果你没有标签,它应该是好的。如果你没有猜到的话,制表符真的会把事情搞糟。你通常应该用换行符来完成消息,而不是(或者)用换行符开始。在许多类型的计算机上,在生成换行符之前不会显示输出。请提供。显示调用方代码。请使用有意义的变量名。不可能理解此代码中的变量k
和z
表示什么代码>是inta[0]代码>:数组不会在C中自动扩展。