C语言 数组删除(数字法和下表法)

这个数组删除功能和前面的插入原理差不多,理解最重要

数字法

//数组删除法(数字法)
#include
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
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;;
}

原理图解

C语言 数组删除(数字法和下表法)_第1张图片

 

你可能感兴趣的:(c语言,c语言,蓝桥杯,算法)