n个实数(仅包含正实数和负实数)组成的数组A进行重新排序, //使得其中的所有的负实数都要在正实数之前
2015-05-04 18:00
239 查看
#include<stdio.h> #include<stdlib.h> //对n个实数(仅包含正实数和负实数)组成的数组A进行重新排序, //使得其中的所有的负实数都要在正实数之前 int main() { //初始化8个元素的数组 int a[]={-2,1,-3,3,4,-9,-8,2}; //i从最前面开始,j从最后面开始 int i=0,j=7; // while(i<j) { while(a[i]<0)//如果前面的是负数就跳过(继续下面的,i++) { i++; } //当出现a[i]为正数时,接着下面的while循环 //此循环从最后开始往前找出第一个负数为止 while(a[j]>0) { j--; } if(i<j) { int temp=a[i]; a[i]=a[j]; a[j]=temp; } } //输出排序后的数组 for(int i=0;i<8;i++) { printf("%d\t",a[i]); } return 0; }
相关文章推荐
- 对给定正整数数列A进行重新排序,使得数列A满足所有的A[i]*A[i+1]都是4的倍数。
- 字符串的排序 接收一个字符串,对其中所有的字符窜进行排序,如:helloitcast,打印:acehillostt
- 有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面
- iOS如何对包含date的数组进行排序
- 请通过代码实现以下功能:输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。
- 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,如果
- 对数组中的对象进行升序以及降序的排序方法(其中对象类型是系统类型).
- 一个字符数组,里面的字符可能是a-z、A-Z、0-9.现在要求对数组进行排序,要求所有小写字符放在最前面,所有大写字符放在中间,所有数字放在最后,而且各部分内部分别有序。
- 获得一个数组中所有元素进行的全排列,获得其中最小的数字
- 输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。
- C语随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,
- 对字符串数组进行排序,将所有的变位词排在相邻的位置
- 编程产生一个int数组,长度为30,并向其中随机插入1-30,并且不能重复输出数组。实现一个冒泡排序算法对其进行排序,输出排序结果
- 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序。
- JAVA--定义一个包含整型数组参数的方法,用来接收成绩数组,进行成绩排序并输出前三名
- 编写程序实现以下功能: 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条
- 从文件中读入文本,文本内容为几个字符串,用逗号间隔,将其中同时含有字母和数字的字符串去除,留下仅仅只包含字母或数字的字符串,然后进行排序
- matlab如何循环读入某一文件夹下的所有图片 对某文件夹下的图片进行重新排序
- 输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。
- 以行为单位对字符串变量下标为奇数位置上的字符按其ASCii值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中