以前只是知道,数组元素删除与链表中元素删除相比很麻烦,知道其中的原理,没有真正做过,为了避免眼高手低,特来练练
#include <stdio.h>
#include <stdlib.h>
#define length 10
int main()
{
int a[length];
int i, j, num, n;
n = length;
for(i = 0; i < length; i++)
{
printf("%5d",a[i] = i);//赋值和打印
}
printf("\n输入要删除的元素:\n");
scanf("%d",&num);
if(a[length-1] == num)
{
n -= 1;//此处不能用length -= 1
}
else
{
for(i = 0; i < length-1; i++)
{
if(a[i] == num)
{
for(j = i; j < length-1; j++)
{
a[j] = a[j+1];
}
break;
}
}
n -= 1;//此处不能用length -= 1
}
printf("\n");
for(i = 0; i < n; i++)
{
printf("%5d",a[i]);
}
return 0;
}