① c語言中5個數從小到大排序
#include<stdio.h>
intmain()
{
inta[5],i,j,t;
printf("請輸入5個數 ");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf(" ");
return0;
}
② 用c語言怎麼對五個數排序
#include<stdio.h>
void sort(int a[])
{int i,j,t;
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
int main()
{int i,j,a[6][5];
for(i=0;i<6;i++)
{ for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
sort(a[i]);
}
for(i=0;i<6;i++)
{printf("Case %d:",i);
for(j=0;j<5;j++)
printf(" %d",a[i][j]);
printf("\n");
}
return 0;
}
③ c語言編程鍵盤輸入5個數 大到小排列輸出
如果只是3個數的話
一:如果是從大到小輸出的話
#include
void
main()
{
int
x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if
(x>y)
{t=x;x=y;y=t;}
/*交換x,y的值*/
if(x>z)
{t=z;z=x;x=t;}/*交換x,z的值*/
if(y>z)
{t=y;y=z;z=t;}/*交換z,y的值*/
printf("small
to
big:
%d
%d
%d\n",x,y,z);
}
二:如果純粹是按逆序輸出的話,即不判斷它們的大小,倒著輸出來
#include
void
main()
{
int
x,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("%d
%d
%d\n",z,y,x);
}
如果是多個數的話,要用到數組
如下:
#include
#define
n
10
/*如果需要輸入幾個數字就把n改為幾.這里以10為例*/
void
main()
{
int
i,a[n];
for(i=0;i
=0;i--)
printf("%d
",a[i]);
}
④ C語言:輸入5個數,用調用函數的方法,從小到大排序 用簡單點的
#include<stdio.h>
voidsort(float*a,intn)
{
inti,j,tmp;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
voidmain()
{
floata[5];
inti;
printf("請輸入五個數(逗號隔開):");
scanf("%f,%f,%f,%f,%f",&a[0],&a[1],&a[2],&a[3],&a[4]);
sort(a,5);
printf("排序後為:");
for(i=0;i<5;i++)
printf("%.2f",a[i]);
printf(" ");
}
或者三個數的。
void sort(int *a, int *b, int *c)
{
int tmp;
if(*a>*b){
tmp = *b;
*b = *a;
*a = tmp;
}
if(*a>*c){
tmp = *c;
*c = *a;
*a = tmp;
}
if(*b>*c){
tmp = *c;
*c = *b;
*b = tmp;
}
return;
}
(4)五個數排列c語言擴展閱讀:
C語言中沒有預置的sort函數。如果在C語言中,遇到有調用sort函數,就是自定義的一個函數,功能一般用於排序。
一、可以編寫自己的sort函數。
如下函數為將整型數組從小到大排序。void sort(int *a, int l)//a為數組地址,l為數組長度。
{
int i, j;
int v; //排序主體
for(i = 0; i < l - 1; i ++)
for(j = i+1; j < l; j ++)
{
if(a[i] > a[j])//如前面的比後面的大,則交換。
{
v = a[i];
a[i] = a[j];
a[j] = v;
}
}
}
對於這樣的自定義sort函數,可以按照定義的規范來調用。
二、C語言有自有的qsort函數。
功 能: 使用快速排序常式進行排序。頭文件:stdlib.h
原型:
void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
參數:
1、待排序數組首地址。
2、數組中待排序元素數量。
3、各元素的佔用空間大小4 指向函數的指針,用於確定排序的順序,這個函數必須要自己寫比較函數,即使要排序的元素是int,float一類的C語言基礎類型。
⑤ C語言 五個數排序
#include<stdio.h>
void sort(int a[])
{int i,j,t;
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
int main()
{int i,j,a[6][5];
for(i=0;i<6;i++)
{ for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
sort(a[i]);
}
for(i=0;i<6;i++)
{printf("Case %d:",i);
for(j=0;j<5;j++)
printf(" %d",a[i][j]);
printf(" ");
}
return 0;
}
⑥ c語言 任意輸入5個數從小到大排列 程序怎麼寫
#include <stdio.h>
int main(int argc, char *argv[])
{
int a[5]; /*保存5個數的數組*/
int i = 0 , j = 0; /*計數器*/
int m = 0 ; /*用於標識最小的那個數*/
int n; /*用於兩個數的交換,中間值*/
/*從鍵盤接收5個數*/
for( i = 0 ; i < 5 ; i ++)
{
printf("請輸入第%d個數", i + 1);
scanf("%d",&a[i]);
}
/*排序演算法:選擇排序*/
for( i = 0 ; i < 5 ; i ++)
{
m = i ;
for( j = i +1 ; j < 5 ; j ++)
if( a[j] < a[m] )
m = j ;
n = a[i];
a[i] = a[m];
a[m] = n;
}
/*輸出*/
printf("經過排序後,這些數是:\n");
for( i = 0 ; i < 5 ;i ++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
⑦ C語言,5個數按從大到小排序,冒泡法
#include<stdio.h>
#define N 5
void main()
{ int a[N],i,j,t;
printf("請輸入5位學生的成績 ");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{for(j=0;j<N-1-i;j++)
if(a[j+1]<=a[j]){
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
printf("成績由高到低的排序為: ");
for(i=0;i<N;i++)
printf("%d ",a[i]);
}
演算法穩定性
冒泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。所以,如果兩個元素相等,是不會再交換的;如果兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以相同元素的前後順序並沒有改變,所以冒泡排序是一種穩定排序演算法。
以上內容參考:網路-冒泡排序
⑧ c語言輸入任意5個實數,按照由大到小排序輸出
用C語言實現如下功能:從鍵盤輸入5個實數,可以使用冒泡排序法把他們降序輸出。
#include 「stdio.h」
main()
{
int a[8];
int j,i;
for(i=0;i<5;i++)
{
printf(「請輸入第%d個數:\n」,i+1);
scanf(「%d」,&a[i]);
}
for(i=0;i<;j++)
for(i=0;i<5–j;i++)
{
if(a[i]>a[i+1])
a[i+1]=a[i];
}
for(i=0;i<5;i++)
printf("\n排序後的結果是:%d\n",a[i]);
return 0;
}
⑨ c語言任意輸入5個數,並按從大到小順序輸出
可以採用以下的代碼進行計算:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta[5];
inti,j,k;
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<=4;i++)
{
for(j=0;j<=4;j++)
{
if(a[i]>a[j])
{
k=a[i];a[i]=a[j];a[j]=k;
}
}
}
printf("排序結果是: ");
for(i=0;i<=4;i++)
{
printf("%d ",a[i]);
}
return0;
}
(9)五個數排列c語言擴展閱讀:
數據類型關鍵字
short:修飾int,短整型數據,可省略被修飾的int。(K&R時期引入)
long:修飾int,長整型數據,可省略被修飾的int。(K&R時期引入)
long long:修飾int,超長整型數據,可省略被修飾的int。(C99標准新增)
signed:修飾整型數據,有符號數據類型。(C89標准新增)
unsigned:修飾整型數據,無符號數據類型。(K&R時期引入)
restrict:用於限定和約束指針,並表明指針是訪問一個數據對象的唯一且初始的方式。(C99標准新增)
復雜類型關鍵字
struct:結構體聲明。(K&R時期引入)
union:聯合體聲明。(K&R時期引入)
enum:枚舉聲明。(C89標准新增)
typedef:聲明類型別名。(K&R時期引入)
sizeof:得到特定類型或特定類型變數的大小。(K&R時期引入)
inline:內聯函數用於取代宏定義,會在任何調用它的地方展開。(C99標准新增)