zoukankan      html  css  js  c++  java
  • 华为机考--数组比较

    比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数

    比如:

    数组{1,3,5}和数组{77,21,1,3,5}按题述要求比较,不相等元素个数为0

    数组{1,3,5}和数组{77,21,1,3,5,7}按题述要求比较,不相等元素个数为3 

    要求实现函数:

    int array_compare(int len1, int array1[], int len2, int array2[])

    【输入】 int len1:输入被比较数组1的元素个数;

    int array1[]:输入被比较数组1;

    int len2:输入被比较数组2的元素个数;

    int array2[]:输入被比较数组2;

    【输出】 无

    【返回】 不相等元素的个数,类型为int

    示例:

    1) 输入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5},int len2 = 5

    函数返回:0

    2) 输入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5,7},int len2 = 6

    函数返回:3

    C++编程实现:

     需要说明的是由于采用标准输入cin得到char类型,无法识别大于9的数,但是不妨碍验证接口函数。

     1 #include <iostream>
     2 using namespace std;
     3 
     4 int array_compare(int len1, int array1[], int len2, int array2[])
     5 {
     6     int count=0;
     7     int len=len1;
     8     if (len>len2) {
     9         len=len2;
    10     }
    11     int i;
    12     for (i=1; i<=len; i++) {
    13         if (array1[len1-i]!=array2[len2-i]) {
    14             count++;
    15         }
    16     }
    17     return count;
    18 }
    19 
    20 int main()
    21 {
    22     char s1[50],s2[50];
    23     int i;
    24     while (cin>>s1>>s2) {
    25         int array1[50],array2[50];
    26         int len1=0,len2=0;
    27         for (i=0; s1[i]; i++) {
    28             array1[i]=s1[i]-'0';
    29             len1++;
    30         }
    31         for (i=0; s2[i]; i++) {
    32             array2[i]=s2[i]-'0';
    33             len2++;
    34         }
    35         cout<<array_compare(len1, array1, len2, array2)<<endl;
    36     }
    37     return 0;
    38 }

    运行结果:

  • 相关阅读:
    MyBatis代码自动生成
    英语单词--程序员专属
    动态规划小例子
    Dijkstra 算法
    矩阵变换
    (转)贝塞尔曲线
    山寨了@上位者的怜悯的样式= =
    HDU 1115 (计算多边形重心)
    HDU 1147(线段相交+链表)
    HDU 1276 (直接链表模拟)
  • 原文地址:https://www.cnblogs.com/LiuYujie/p/3965043.html
Copyright © 2011-2022 走看看