1.删除数组里面的某一个元素
#include<stdio.h>
int main()
{
//数组元素 7,6,8,9 删除8 得到7,6,9
int n, m, k = 0;
int arr[100];
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
scanf("%d", &m);
for (int i = 0; i < n; i++)
{
if (arr[i] != m)
arr[k++] = arr[i];
}
arr[k] = '\0';
for(int i=0;i<n-1;i++)
printf("%d ",arr[i]);
return 0;
}
2.数组去重
#include<stdio.h>
int main()
{
int arr[100], n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (arr[i] == arr[j])
{//如果说找到了重复数字
for (int k = j; k < n-1; k++)
{
arr[k] = arr[k + 1];//进行替换
}
n--;//如果去重,数目减1
j--;//如果说替换成功,arr[j]替换了arr[j+1],如果说替换的数字arr[j+1]也是重复数字,j--进行重新判断
}
}
}
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
|