1144: 零起点学算法51——数组中删数

1144: 零起点学算法51——数组中删数

Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld
Submitted: 3304  Accepted: 933
[Submit][Status][Web Board]

Description

在给定的数组中删除一个数 

 

Input

多组测试,每组第一行输入1个整数n(n<20),然后是n个整数
第二行输入1个整数m 

 

Output

删除在第一行的n个整数中第一次出现数字m并删除,然后按照顺序输出剩下的数,

 

Sample Input

 
4 1 2 3 4
3

 

Sample Output

1 2 4

 

HINT

 

m有可能在原数组中找不到,找不到则输出原数组


 

 

Source

 
 1 #include<stdio.h>
 2 int main(){
 3     int n,a[20];
 4     while(scanf("%d",&n)!=EOF){
 5         for(int i=0;i<n;i++){
 6             scanf("%d",&a[i]);
 7         }
 8         
 9         int m,t,sign=1;
10         scanf("%d",&m);
11         for(int i=0;i<n;i++){
12             if(m==a[i]){
13                 t=i;
14                 sign=0;
15                 break;
16             }
17         }
18         
19         if(sign){
20             for(int i=0;i<n-1;i++){
21                 printf("%d ",a[i]);
22             }
23             printf("%d\n",a[n-1]);
24         }
25         else{
26             for(int i=0;i<t;i++){
27                 printf("%d ",a[i]);
28             }
29             for(int j=t+1;j<n-1;j++){
30                 printf("%d ",a[j]);
31             } 
32             printf("%d\n",a[n-1]);
33         } 
34     }
35     return 0;
36 }

//感觉有问题,如果删除的数是最后一个?? 

posted @ 2017-04-08 00:52  Dollis  阅读(3062)  评论(5编辑  收藏  举报