//如:
//输入:10
//数组:1 2 99 50 32 7 12 11
//输出:1 2 99 32 7 12 11
#include<stdio.h>
#include <stdlib.h>
#include<time.h>
#define count 20
int i = count-1;//用来遍历数组中所有的数
int flag = 0;
int arr2[count] = { 0 };//存储除去等于N或能被N整除的数
int fun(int arr[],int N)
{
if(i == -1)
{
printf("Updated array:\n");
for (int j = 0; j < (count-flag); j++)
printf("%d ", arr[j]);
printf("\n");
return 0;
}
else if (arr[i] == N || arr[i] % N == 0)
{
printf("arr[i] = %d\n", arr[i]);
printf("N= %d\n", N);
for (int j = i; j < count; j++)
{
arr[j] = arr[j + 1];
}
for (int j = 0; j < (count - flag); j++)
printf("%d ", arr[j]);
printf("\n");
printf("--------------\n");
i--;
flag++;
return fun(arr, N);
}
else
{
i--;
return fun(arr, N);
}
}
int main()
{
srand(time(0));
int arr[count];
//生成无序数组
for (int i = 0; i < 20; i++)
{
arr[i] = rand() % 100;
//scanf("%d", &arr[i]);
printf("%d ", arr[i]);
}
//输入N
printf("\n");
int N = 0;
scanf("%d",&N);
fun(arr, N);
}
定义一个函数:功能为:输入一个数N,将一个无序数组中的所有和N相等的或者能被N整除的数,全部删除,并更新数组
最新推荐文章于 2024-07-09 21:29:15 发布