zoukankan      html  css  js  c++  java
  • zzuli oj 1117 查找数组元素

    题意描述:
    编写程序,输入n(1<=n<=10),输入n个整数构成一个数组,输入整数x,在这个数组中查找x是否存在,
    如果存在,删除x,后面元素依次向前添补空位,并输出删除元素后的数组。如果不存在,输出“Not Found”。
    输入第一行是一个正整数n(1<=n<=10);
    第二行是n个整数,构成一个数组;
    第三行是一个整数x,表示待查找元素。
    输出删除元素后的数组,每个元素占4列,右对齐。如果不存在,输出“Not Found”。如果数组中有多个x,
    只删除下标最小的那个。
    解题思路:
    分别编写三个函数,一个查找是否含有相同元素,如果有返回该下标,反之返回-1。
    一个函数删除指定元素,一个函数输出处理后的新数组。
    代码实现:

     1 #include<stdio.h>
     2 int find(int a[], int n, int x)
     3 {
     4 //int main()
     5 //{
     6 //    int a[20],n,x;
     7  int i,find=0;
     8 // scanf("%d",&n);
     9 // for(i=0;i<n;i++)
    10 // scanf("%d",&a[i]);
    11 // 
    12 // scanf("%d",&x);
    13  for(i=0;i<n;i++)
    14  {
    15   if(a[i]==x)
    16   {
    17   find=1;
    18 //  printf("%d
    ",i);
    19   return i;
    20   break;
    21      }
    22  }
    23  if(find==0)
    24 // printf("-1");
    25  return -1;
    26  } 
    27 void del(int a[],int n,int i)
    28  {
    29   int t;
    30   for(t=i;t<=n-1;t++)
    31   {
    32    a[t]=a[t+1];
    33   }
    34  }
    35  void PrintArr(int a[], int n)
    36  {
    37   int i;
    38   for(i=0;i<n-1;i++)
    39   printf("%4d",a[i]);
    40  }
    41  int main()
    42  {
    43   int n,x,a[20],i;
    44   scanf("%d",&n);
    45   for(i=0;i<n;i++)
    46   scanf("%d",&a[i]);
    47   scanf("%d",&x);
    48   find( a,  n,  x);
    49   
    50   if(find( a,  n,  x)==-1)
    51   printf("Not Found") ;
    52   else
    53   {
    54   i=find( a,  n,  x);
    55    del( a, n, i);
    56    PrintArr( a,  n);
    57      }
    58   return 0;
    59  }
     


    易错分析:
    1.if语句中他直接管理与其紧挨的一句,如果有多句要用括号括起来。
    2.连用函数时要注意上一个函数的返回值要重新赋值给下一个函数,例如题中的i就要重新赋值,不然无法计算。

  • 相关阅读:
    parted命令
    parted命令
    Dell R410 上安裝 Debian6
    vmware虚拟机桥接方式ping不通问题解决
    SNMP的应用
    五种方法安装Windows 7 64位系统
    Win7 文件共享
    重装或克隆虚拟机后——eth0改变
    udev 高效、动态地管理 Linux 设备文件
    Configuring raw devices (multipath) for Oracle Clusterware 10g Release 2 (10.2.0) on RHEL5OEL5
  • 原文地址:https://www.cnblogs.com/yuanqingwen/p/10387668.html
Copyright © 2011-2022 走看看