对一个数组,将数组中偶数从大到小排序,奇数从小到大排序,奇数和偶数交叉着放且输出数组第一位放奇数
若奇数和偶数不等长,则把剩下的直接放到数组中。
- #include<stdio.h>
-
#include<stdlib.h>
-
#include<string.h>
-
voidsorts(inta[],intn)
- {
- inti,j;
- inttmp;
- intcnt0=0,cnt1=0;
- intcnt2;
- intou_num=0,ji_num=0;
- int*r=a;
- intou_arr[100]={0};
- intji_arr[100]={0};
- int*p_ou=ou_arr;
- int*p_ji=ji_arr;
- int*p=ou_arr;
- int*q=ji_arr;
- for(i=0;i<n;i++)
- {
- if(a[i]%2==0)
- {
- ou_num++;
- *p_ou++=a[i];
- }
- else
- {
- ji_num++;
- *p_ji++=a[i];
- }
- }
- printf("ou_num=%d\n",ou_num);
- printf("ji_num=%d\n",ji_num);
- printf("beforesortedoushunumis:");
- for(i=0;i<ou_num;i++)
- printf("%d",ou_arr[i]);
- printf("\n");
- printf("beforesortedjishunumis:");
- for(i=0;i<ji_num;i++)
- printf("%d",ji_arr[i]);
- printf("\n");
- for(i=0;i<ou_num-1;i++)
- for(j=i+1;j<ou_num;j++)
- if(ou_arr[i]<ou_arr[j])
- {
- tmp=ou_arr[i];
- ou_arr[i]=ou_arr[j];
- ou_arr[j]=tmp;
- }
- printf("sortedoushunumis:");
- for(i=0;i<ou_num;i++)
- printf("%d",ou_arr[i]);
- printf("\n");
- for(i=0;i<ji_num-1;i++)
- for(j=i+1;j<ji_num;j++)
- if(ji_arr[i]>ji_arr[j])
- {
- tmp=ji_arr[i];
- ji_arr[i]=ji_arr[j];
- ji_arr[j]=tmp;
- }
- printf("sortedjishunumis:");
- for(i=0;i<ji_num;i++)
- printf("%d",ji_arr[i]);
- printf("\n");
- while(cnt0<ji_num&&cnt1<ou_num)
- {
- *r++=*q++;
- cnt0++;
- *r++=*p++;
- cnt1++;
- }
- cnt2=cnt1;
- if(cnt0==ji_num)
- {
- while(cnt1<ou_num)
- {
- *r++=*p++;
- cnt1++;
- }
- }
- if(cnt2==ou_num)
- {
- while(cnt0<ji_num)
- {
- *r++=*q++;
- cnt0++;
- }
- }
- }
-
intmain()
- {
- inti;
- inta[14]={2,0,3,9,4,10,7,11,15,22,66,31,21,87};
- sorts(a,14);
- for(i=0;i<14;i++)
- printf("%d",a[i]);
- getchar();
- return0;
- }
分享到:
相关推荐
【华为机试题合集】是针对想要参加华为公司面试,特别是C语言方面考核的求职者们的一份宝贵资源。这份合集涵盖了多个方面的知识点,旨在帮助考生熟悉华为的机试流程,提高通过率。以下是对这些机试题目的详细解读: ...
总结,2014年华为机试题主要考察了字符串处理、遍历算法、哈希表的应用、字符编码理解、函数接口设计、性能优化以及基本的测试用例编写能力。这些问题在计算机科学和软件工程领域中具有重要的实践意义。
【华为OD系列--华为机试题OD岗】 华为OD(Organizational Development,组织发展)岗位是华为公司中的一个重要职位,主要负责企业的组织架构设计、人力资源管理、变革管理以及企业文化建设等工作。这个岗位要求应聘...
华为机试题,多多联系,找华为的实习应该是没问题的
【华为机试题校园招聘大全】 华为作为全球知名的通信与信息技术解决方案提供商,每年都会进行大规模的校园招聘活动,吸引优秀毕业生加入。"华为机试题校园招聘大全"是华为公司在招聘过程中,为评估应聘者的技术能力...
【华为机试题2020.zip】这个压缩包文件包含了2020年华为公司面试中涉及的部分编程题目,特别是第二题和第三题的解题思路及对应的代码实现。由于第一题是经典模型,可能在其他资料中已经广泛讨论,所以此压缩包未包含...
华为机试题源码合集 本资源摘要信息中收录了多个华为机试题的源码合集,涵盖了基本的四则运算、字符串逆序、单词不逆序、单词逆序、大数的加法和乘法等多个知识点。下面将对每个知识点进行详细的阐述。 基本的四则...
华为机试题 王子逃脱
【Java】华为机试题2011-9-17 在Java编程领域,华为的面试题往往涵盖广泛,从基础语法到高级设计模式,再到实际的编程问题解决能力。这篇2011年的机试题可能包括了多个部分,旨在评估候选人的Java编程技能和对软件...
【华为机试题大全】 华为作为全球知名的电信设备与信息技术解决方案供应商,其招聘过程中常常会包含技术性的机试环节。这份“华为机试题大全”集合了华为历年来的面试题目,旨在帮助求职者熟悉并准备华为的技术考核...
2014-2012各地机试题大集锦华为上机考试试题
2018年华为机试题,结束之后整理的机试试题及自己的答案,亲测结果没任何问题,需要的可以自己载下来看看
### 华为机试题知识点解析 #### 一、选秀节目打分系统算法解析 ##### 题目背景: 在华为的机试题中,有一道题目是关于选秀节目的打分系统设计。题目要求根据专家评委和大众评委的不同评分,计算出选手的最终得分。...
华为C语言试题及参考答案.pdf 本资源文件提供了华为C语言试题及参考答案,涵盖了C语言基础知识、指针、数组、字符串、函数、预处理器 等方面的知识点。 一、判断题 1. 数组定义int a[2][2]={{1},{2,3}};则 a[0][1...
【华为2018机试题附自己的答案.zip】这个压缩包文件显然包含了华为公司在2018年进行的一次技术面试或笔试的题目及其解答。虽然没有具体的标签信息,但我们可以推断,这个资料可能涵盖了华为对求职者在IT领域的各种...
7. **Biot-Savart定律**:该定律描述了电流产生的磁场,满足牛顿第三定律。 8. **电磁波极化**:垂直于地面的极化是垂直极化,平行于地面的是水平极化,圆极化是椭圆极化的特殊形式,而电磁波在传播过程中遇到障碍...
据说这是2012年华为机试的一道题目,我给出两种方法,两种做法有微小的差别,主要涉及malloc的使用,对初学者应该有帮助
最新2015年华为提前批机试题,适合今年或明年想去华为的程序员!