#include<stdio.h> #include<stdlib.h> #define N 20 //打印一维数组 void display(int a[],int n) { int i; for (i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); } void fun(int *a,int n,int *del,int m) { int i,c=0; int *table = (int*)malloc(sizeof(int)*n); for (i=0;i<n;i++) { table[i] = 0; } for (i=0;i<m;i++) // 标记 { table[del[i]] = 1; } for (i = n-1; i>=0; i--) { if (table[i]) // 查找 i { c++; }else { a[i+c] = a[i]; } } for (i = 0;i<c;i++) { a[i] = 100; } } int main() { int a[N],i,del[4],count=0; // 初始化 for (i=0;i<N;i++) { a[i] = i; } display(a,N); printf("请输入需要删除的元素:从大到小:\n"); while (scanf("%d",del+count)!=EOF)count++; printf("你要删除的元素是:\n"); display(del,count); printf("删除后的元素为:\n"); fun(a,N,del,count); display(a,N); system("pause"); return 0; }