你這個就是常說的意大利面 5個以上的排序還是弄個數組,用循環(huán)排序

10年積累的網站制作、網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站后付款的網站建設流程,更有鹿邑免費網站建設讓你可以放心的選擇與我們合作。
#include stdio.h
#define N 5
int main(void)
{
float farr[N];
float t;
int i,j;
for(i=0;iN;i++)
{
scanf("%f",farr[i]);
}
for(i=0;iN-1;i++)
{
for(j=i+1;jN;j++)
{
if(farr[i]farr[j])
{
t=farr[i];
farr[i]=farr[j];
farr[j]=t;
}
}
}
for(i=0;iN;i++)
{
printf("%f\t",farr[i]);
}
return 0;
}
#include
int
main()
{
int
number[5]
=
{0};//存儲五個數
int
cur
=
0;//當前要比較的數的下標,不能是float
float
max
=
number[0];//當前最大的數值,初始為數組中第一個數
int
index
=
0;//當前最大數值在數組中的位置
printf("**********尋找最大值***********\n");
//獲得五個數
while(index
5)
{
printf("請輸入第%d個數:",
index+1);//這里
scanf("%d",number[index]);
index++;/////////////////////////////////這里
}
//
index=0;
while(cur
5)
{
if
(max
number[cur])//當這個數比前面數中最大的數還要大時就替換掉//////////////////////////////////////////
{
max
=
number[cur];//////////////////////////////cur
非index
index
=
cur;
}
cur++;
}
printf("最大值是數組中第%d個數,值為%0.6f\n",
index
+
1,
max);
getch();
return
0;
}
//冒泡算法
int?num[5];?
//輸入
for?(int?i?=?0;?i??5;?i++)
{
scanf("%d",?(num[i]));
}
bool?fin?=?true;
while(con)
{
con?=?false;
//如果相鄰兩個數前一個比后一個小就交換
for?(int?i?=?0;?i??4;i++)
if?(num[i]??num[i?+?1])
{
int?n?=?num[i];
num[i]?=?num[i?+?1];
num[i?+?1]?=?n;
con?=?true;
}
//如果相鄰兩個數前一個都大于等于后一個con就會等于false退出循環(huán)
}
//輸出
for?(int?i?=?0;?i??5;?i++)
{
printf("%d",?num[i]);
}
#includestdio.h
void?sort(float?*a,?int?n)
{
int?i,j,tmp;
for(i=0;?in-1;?i++)
for(j=0;?jn-i-1;?j++)
if(a[j]a[j+1])
{
tmp?=?a[j];
a[j]?=?a[j+1];
a[j+1]?=?tmp;
}
}
void?main()
{
float?a[5];
int?i;
printf("請輸入五個數(逗號隔開):");
scanf("%f,%f,%f,%f,%f",a[0],a[1],a[2],a[3],a[4]);
sort(a,5);
printf("排序后為:");
for(i=0;?i5;?i++)
printf("%.2f?",a[i]);
printf("\n");
}
或者三個數的。
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;
}
擴展資料:
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函數,可以按照定義的規(guī)范來調用。
二、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語言基礎類型。
//#include "stdafx.h"http://vc++6.0加上這一行.
#include "stdio.h"
void main(void){
int a[5],i,j,k;
printf("Type 5 integers...\n");
for(i=0;i5;scanf("%d",a+i++));
for(i=0;i5;i++){
for(k=i,j=k+1;j5;j++)
if(a[k]a[j]) k=j;
if(k!=i){
j=a[k];
a[k]=a[i];
a[i]=j;
}
}
for(i=0;i5;printf("%d ",a[i++]));
printf("\n");
}
本文題目:函數比較五個數大小c語言,比較十個數的大小c語言
網頁URL:http://chinadenli.net/article34/dsgggpe.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站設計、企業(yè)網站制作、靜態(tài)網站、全網營銷推廣、ChatGPT、虛擬主機
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯