这个数组删除功能和前面的插入原理差不多,理解最重要
数字法
//数组删除法(数字法)
#include<stdio.h>
int main()
{
int i, j,a;
int x[5] ;
for (i = 0; i < 5; i++)
scanf_s("%d",&x[i]);
printf("请输入要删除的数:");
scanf_s("%d", &a); //删除的数
for (i = 0; i < 5; i++)
{
if (a == x[i])break;//记录此时的数
}
for (j=i;j<4;j++)
{
x[j] = x[j+1]; //待补一个原理图解和csdn文章
}
for (i = 0; i <4; i++)
printf("%d\t",x[i]);
return 0;
}
下标法
//数组删除法(下标法)
#include<stdio.h>
int main()
{
int i, j;
int x[5],a;
printf("请输入5个数:");
for (i = 0; i < 5; i++)
scanf_s("%d", &x[i]);
printf("请输入要删除数字的下标:");
scanf_s("%d",&a);
for (i = 0; i < 5; i++)
{
if (x[i] == x[a])break;//记录
}
for (j = i+1; j < 5; j++)
{
x[j] = x[j + 1];
}
for (j = 0; j < 4; j++)
printf("%d\t",x[j]);
return 0;;
}
原理图解