数组比较问题
2015-07-30 10:17
106 查看
问题描述:
比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数
比如:数组{1,3,5}和数组{77,21,1,3,5}按题述要求比较,不相等元素个数为0
数组{1,3,5}和数组{77,21,1,3,5,7}按题述要求比较,不相等元素个数为3
比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数
比如:数组{1,3,5}和数组{77,21,1,3,5}按题述要求比较,不相等元素个数为0
数组{1,3,5}和数组{77,21,1,3,5,7}按题述要求比较,不相等元素个数为3
#include "stdafx.h" #include <stdio.h> #define MAXSIZE 10000 int comp_noequal(int a[],int b[],int n,int m); int comphanle(int min1[],int max1[],int minl,int maxl); int _tmain(int argc, _TCHAR* argv[]) { int n,m; int a[MAXSIZE],b[MAXSIZE]; //printf("%s","entry n and m"); while((scanf("%d",&n))&&(scanf("%d",&m))!=EOF){ for(int i=0;i<n;i++){ scanf("%d",&a[i]); } for(int j=0;j<m;j++){ scanf("%d",&b[j]); } int num=comp_noequal(a,b,n,m); printf("%s%d","the num is",num); } return 0; } int comp_noequal(int a[],int b[],int n,int m){ int num=0; if(n<=m){ num=comphanle(a,b,n,m); } else { num=comphanle(b,a,m,n); } return num; } int comphanle(int min1[],int max1[],int minl,int maxl){ int num=0; int j=maxl-1; //之前j放里面并且else里没有-1,j未减直接进入下次循环了 for(int i=minl-1;i>=0;i--){ if(min1[i]!=max1[j]){ num=num+1; j=j-1; } else{ j=j-1; continue;} } return num; }
相关文章推荐
- nyoj 95
- Android开发:带progressBar效果的Button
- 算法题——像素翻转
- 下载的论文乱码
- Java模式—适配器模式
- 将博客搬至CSDN
- Xcode开发工具问题
- 7月28日全球域名商(国际域名)解析新增保有量TOP10
- sql server 2000中禁止创建表(权限设置方法)
- js dojo 读取txt
- php简单判断文本编码的方法
- gitlab 提交操作
- 常去web
- JQuery $.each跳出循环
- Javascript Map和Set
- 转---SQL SERVER 2008 利用发布订阅方式实现数据库同步
- [ActionScript 3.0] 翻牌效果,运用语法rotationY,PerspectiveProjection
- Python3抓取糗事百科
- Python3抓取糗事百科
- hdu 5323