数组比较

数组比较(20分)

 

比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果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

注意是不相等元素~

 

 1 #include<stdio.h>
 2 int array_compare(int len1, int array1[], int len2, int array2[])
 3 {
 4     int i,sum,p1,p2;
 5     p1 = len1-1;
 6     p2 = len2-1;
 7     sum = 0;
 8     if (len1 < len2)
 9     {
10         for (i=0; i < len1; i++)
11         {
12             if (array1[p1--] != array2[p2--])
13                 sum++;
14         }
15     }
16     else
17     {
18         for (i=0; i < len2; i++)
19         {
20             if (array1[p1--] != array2[p2--])
21                 sum++;
22         }
23     }
24     return sum;
25 }
26 int main()
27 {
28     int i,len1,len2,array1[100],array2[100];
29     scanf("%d",&len1);
30     for (i=0; i < len1; i++)
31         scanf("%d",&array1[i]);
32     scanf("%d",&len2);
33     for (i=0; i < len2; i++)
34         scanf("%d",&array2[i]);
35     printf("%d\n",array_compare(len1,array1,len2,array2));
36     return 0;
37 }

 

转载于:https://www.cnblogs.com/george-cw/p/3938034.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值