用C语言编写一个程序,将一个数组内下标为奇数的数组元素按照从小到大的顺序排序。

运行效果:
数组:21 42 38 94 5 31 32
排序后:21 31 38 42 5 94 32

第1个回答  推荐于2016-11-23

#include<stdio.h>


int main()

{

int a[7] ;

int i , j , temp  ;

for( i = 0 ; i < 7 ; i ++ )

{

scanf("%2d" , &a[i] ) ;

}

for( i = 1 ; i < 7 - 1 ; i += 2)

{

for( j = 1 ; j < 7 - 1 - i ; j += 2)

{

if(a[j] > a[j+2])

{

temp = a[j] ;

   a[j] =a[j+2] ;

a[j+2] = temp ;

}

}

}

for( i = 0 ; i < 7 ; i ++ )

{

printf("%2d " , a[i] ) ;

}

return 0 ;

}

本回答被提问者采纳

用C语言编写一个程序,将一个数组内下标为奇数的数组元素按照从小到大的...
include<stdio.h> int main(){ int a[7] ;int i , j , temp ;for( i = 0 ; i < 7 ; i ++ ){ scanf("%2d" , &a[i] ) ;} for( i = 1 ; i < 7 - 1 ; i += 2){ for( j = 1 ; j < 7 - 1 - i ; j += 2){ if(a[j] > a[j+2]){ temp =...

编写C语言程序,把一个数组按从小到大的次序排列起来
if (New_number[j] < New_number[j + 1])\/\/比较大小并将大的赋给前面的数组 { k = New_number[j + 1];\/\/将相对较小的元素赋值给中间元素 New_number[j + 1] = New_number[j];\/\/将相对较大的元素送达前面一个位置 New_number[j] = k;\/\/将中间变量元素送给后面一个位置 } } ...

C语言程序设计将一个具有20个元素的一维数组,对下标为奇数位的元素用...
void sort(int a[]){ for(int i = 1;i <= 18;i += 2){ int temp,min = i - 1;for(int j = i + 2;j <= 20;j += 2){ if(a[min] > a[j-1])min = j-1;} temp = a[i-1];a[i-1] = a[min];a[min] = temp;} } void display(int a[]){ for(int i...

C语言:编写程序,把字符数组中的字母按由小到大 的顺序排列并输出
include <stdio.h>#include <stdlib.h>#include <string.h>int cmp(const void *a, const void *b) { return *(char*)a - *(char*)b; \/\/ 这里记住一定要用排序的元素类型的指针做强制装换并且再取指针指向的值。}int main() { char s[] = "kjferu21398dyfkaqpoia"; qs...

用c语言或汇编语言编写一个:将数组按由小到大的顺序排列的程序。要求1...
void Order(int *num,int n) \/\/bubble sort { int s=0;int tag = false ; \/\/ 设置是否需要继续冒泡的标志位 for ( int i = 0 ; i < n ; i++){ for ( int j = 0 ; j < n - i - 1 ; j++){ if ( num[j] > num[j+1]){ tag = true ;int temp = num[j] ;...

c语言 定义一个函数,将一个一维数组中数据从小到大排序
void sortarray(int *a,int n) { int i,j,k;for ( i=0;i<n-1;i++ ) for ( j=i+1;j<n;j++ ) if ( a[i]>a[j] ) {k=a[i];a[i]=a[j];a[j]=k;} } void main() { int a[N],i;for ( i=0;i<N;i++ ) scanf("%d",&a[i]);for ( i=0;i<N;i+...

C语言实现将数组的六个元素按从小到大的顺序输出?
C语言实现将数组的六个元素按从小到大的顺序输出,可以采用内部排序算法对数组的元素进行排序,然后输出排序后的数组,就可以得到按从小到大的顺序输出。以快速排序为例的排序代码:void quickSort(int a[],int l,int r) { if(l>=r)return;int i = l;int j = r;int key = a[l];\/\/选择...

在c语言中如何调用一个函数实现将数组奇数排列在左,偶数排列在右,这是...
你那个程序逻辑太混乱, 所以嵌套判断的时候,把自己也给绕进去了,其实就应该是a数组,两个变量i, j,i 对应奇数,j对应偶数,i从头,j从尾相向而行, 一偶一奇时,互换位置;否则偶数i++,奇数j--(继续相向而行),代码修改如下:void assort(int a[], const unsigned int n){ int i, j...

c语言编程: 将一组数按从大到小的顺序排序
{ int x;printf("请输入要排序数字个数:");scanf("%d",&x);int i,j,k,a,b,num[x];printf("输入数据:");for(i=0;i<x;i++)scanf("%d",&num[i]);for(j=0;j<x;j++){ for(k=j+1;k<x;k++)if(num[k]>num[j]){ a=num[j];num[j]=num[k];num[k]=a;} } fo...

c语言将数组从小到大排序
这是我以前写的 include <stdio.h>int main(){ int i,j,x[100],y=0,a; printf("请输入数字数量:\\n"); scanf("%d",&a); printf("请输入各个数字:\\n"); for(i=0;i<a;i++) { scanf("%d",&x[i]); } printf("\\n"); \/\/输入 for(j=...

相似回答