在一列数据中,删除指定的值。输出每次删除后的数列。若数列中无待删除数据,则输出原数列。
输入格式:
在第1行输入一个整数n(0<n<=1000),表示数据个数;
在第2行输入n个整数,以空格分隔;
在第3行输入整数m,表示需要删除的值。
输出格式:
每次删除后,输出删除后的数列,每个数据后有一个空格。
每行输出一次删除后结果。
若数列中无待删除数据,则输出原数列。
输入样例 1:
10
5 8 7 12 17 15 3 7 7 10
7
输出样例 1:
5 8 12 17 15 3 7 7 10
5 8 12 17 15 3 7 10
5 8 12 17 15 3 10
输入样例 2:
10
5 8 7 12 17 15 3 7 7 10
6
输出样例 2:
5 8 7 12 17 15 3 7 7 10
#include <stdio.h>
int main()
{
int a,i,c,d,e,f,g,h=0,j=0,k=0;
scanf("%d",&a);
g=a;
int b[a];
for(i=0;i<a;i++){
scanf("%d",&b[i]);
}
scanf("%d",&c);
for(i=0;i<g;i++){
if(c==b[i]){
h=h+1;
i--;
g=g-1;
for(e=i+1;e<g;e++){
d=b[e+1];
b[e]=d;
}
for(f=0;f<g;f++){
printf("%d ",b[f]);
if(f==g-1)
printf("\n");
} }}
if(h==0){
for(;j<a;j++) {
printf("%d ",b[j]);}
printf("\n"); }
if(a>=2){
for(j=1;j<a;j++){
if(b[0]==b[j])
k=k+1; }
if(k==a-1)
printf("\n"); }
return 0;
}