方法一:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int arr1[100] = { 0 };
// 向数组中输入元素
int i = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &arr1[i]);
}
//这是想删除的元素;
int m = 0;
scanf("%d", &m);
// 我定义了一个指针变量
// 这个指针变量指向了该数组的首元素;
int* p = arr1;
for (i = 0; i < n; i++)
{
// 如果这个指针所指向的元素恰好等于你想删除的元素的话
// 就不打印该元素,让指针指向下一个元素 再来进行下一次判断
if (*p == m)
{
p++;
}
else
{
printf("%d ", arr1[i]);
p++;
}
}
return 0;
}
方法2:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i, j;
int n;
int arr_1[100];
int arr_2[100];
int del;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &arr_1[i]);
}
scanf("%d", &del);
for (i = 0, j = 0; i < n; i++)
{
if (del != arr_1[i])
{
arr_2[j] = arr_1[i];
j++;
}
}
for (i = 0; i < j; i++)
{
printf("%d ", arr_2[i]);
}
return 0;
}