首页 > 代码库 > 数组比较
数组比较
数组比较(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 else17 {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 }
数组比较
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。