本文目錄一覽:
- 1、如何用C語言將一組數進行降序排列
- 2、用c語言對n個整數進行降序排列,並輸出排序結果
- 3、C語言的升序和降序
- 4、C語言將數組a中的10個整數降序排列並輸出,如何編程?
- 5、關於C語言進行降序排列
- 6、用C語言編寫,輸入10個數按降序排列
如何用C語言將一組數進行降序排列
假設有n個數。
#includestdio.h
void min(int *a,int *b)
{
int data;
if(*a*b)
{
data=*a;
*a=*b;
*b=data;
}
}
int main()
{
int t[10];//假設n=10,可以設置為其他數
int i,j,n=10;
for(i=0;in;i++)
scanf(“%d”,t[i]);
for(i=0;in-1;i++)
{
for(j=i;jn-1;j++)
{
min(t[j],t[j+1]);
}
}
for(i=0;in;i++)
printf(“%3d”,t[i]);
printf(“\n”);
return 0;
}
用c語言對n個整數進行降序排列,並輸出排序結果
#include stdio.h
void sort(int*arr,int n);
int main(int argc, char *argv[])
{
int i;
int arr[8] = {12,67,122,0,-12,675,100,11};
sort(arr,8);
for(i=0;i8;++i)
printf(“%d “,arr[i]);
return 0;
}
//冒泡排序 :降序
//arr:待排序的數組
//n:數組的長度
void sort(int*arr,int n)
{
int i,j,t;
for(i=0;in-1;++i)
for(j=0;jn-1-i;++j)
{
if(arr[j]arr[j+1])
{
t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
C語言的升序和降序
#includestdio.h
void main()
{
int a[5]={};
int i,j;
int temp=0;
for(i=0;i5;i++)
{
printf(“請輸入第%d個整數\n”,i+1);
scanf(“%d”,a[i]);
}
for(i=1;i5;i++)
{
for(j=0;j5-i;j++)
{
if(a[j]a[j+1])………………..//把大於號改成小於號
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i5;i++)
{
printf(“排序後的整數:%d\t”,a[i]);
}
}
if(a[j]a[j+1])………………..//把大於號改成小於號
C語言將數組a中的10個整數降序排列並輸出,如何編程?
這個是自己輸入10個整數,不想自己輸的話就先給數組a賦初值,然後把下面程序里的輸入語句去掉即可
#include stdio.h
void main()
{
int i,j,max,temp,a[10];
for(i=0;i10;i++)
scanf(“%d”,a[i]);
for(i=0;i10;i++)
{
max=i;
for(j=i+1;j10;j++)
if(a[max]a[j])
max=j;
temp=a[i];
a[i]=a[max];
a[max]=temp;
}
for(i=0;i10;i++)
printf(“%d “,a[i]);
}
關於C語言進行降序排列
#include “stdio.h”
#define MAX 10
void sort(int *p,int n)
{int i,j;
int temp; //記錄每一輪比較中最大值
int maxindex; //記錄每一輪比較中最大值的下標
for (i=0;in;i++)
{
temp=p[i];
maxindex=i;
for (j=i+1;jn;j++)
if (tempp[j]) {temp=p[j];maxindex=j;}
if(maxindex!=i){p[maxindex]=p[i];p[i]=temp;}
}
}
/*
void sort(int *p)
{int i,j,k;
for (i=0;i9;i++)
for (j=i+1;j10;j++)
if (p[i]p[j]) {k=p[i];p[i]=p[j];p[j]=k;}
這個是簡單選擇排序,但是執行效率沒有上面的高。不過對於比較小的基數,還是看不出來效率的優劣,如果在基數上百萬時,效率高的執行時間將節省不少。
*/
main()
{
int a[MAX],i;
for (i=0;iMAX;i++)
scanf(“%d”,a[i]);
sort(a,MAX);
for(i=0;iMAX;i++)
printf(“%d ,”,a[i]);
}
用C語言編寫,輸入10個數按降序排列
源程序代碼如下:
#define _CRT_SECURE_NO_WARNINGS//VS環境下需要,VC不需要
#includestdio.h//頭文件;
int main()
{
int i = 0;
int j = 0;
double temp = 0;
double a[10] = { 0 };//定義三個變數和一個長度為10的數組;
printf(“請輸入十個數:\n”);//顯示「請輸入十個數」
for (i = 0; i 10; i++)
{
scanf(“%lf”, a[i]);//從鍵盤上輸入十個數送到數組;
}
for (i = 1; i 10; i++)//for循環,進行9次循環;
{
for (j = i – 1; j = 0; j–)//for循環,在每次大的循環中,a[i]從a[1]依次與它前面的數比較;
{
if (a[j + 1] a[j])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;//如果a[j + 1]a[j],則把這兩個數組元素互換,目的把最大的數放到前邊;
}
else
{
break;
}
}
}
for (i = 0; i 10; i++)
{
printf(“% lf\n”, a[i]);//輸出排好順序的十個數;
}
return 0;//返回值為0;
}
程序運行結果如下:
擴展資料:
其他實現方法如下:
#includestdio.h
int mysort(int *a, int n)
{
int i, j, temp;
for (i = 0; i n – 1; i++)
{
for (j = 0; j n – 1 – i; j++)
{
if (a[j] a[j + 1])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
}
return 0;
}
int main()
{
int a[10];
int i, j;
printf(“input 10 numbers:\n”);
for (i = 0; i 10; i++)
{
printf(“the number%d is:”, i + 1);
scanf(“%d”, a + i);
fflush(stdin);
}
mysort(a, 10);
for (i = 9; i = 0; i–)
printf(“%3d”, a[i]);
printf(“\n”);
return 0;
}
原創文章,作者:YTEH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141693.html