當前位置:首頁 » 編程語言 » 簡單三位數排序c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

簡單三位數排序c語言

發布時間: 2023-03-16 03:06:23

c語言編寫程序,任意三個數,由大小到排序,源代碼如何寫!

思路:任意三個數按從大到小順序輸出,可以先求出三個數中的最大值和最小值,三個數的和減去最大值和最小值的差就是中間數,接著依次輸出。

參考代碼:

#include"stdio.h"
intmain()
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b;
min=a<b?a:b;
if(c>max)max=c;
if(min>c)min=c;
printf("從大到小排序:%d%d%d ",max,a+b+c-max-min,min);
}
/*
運行結果:
213
從大到小排序:321
*/

⑵ C語言中要把三個數從大到小排列出來應該怎麼編

初學簡單版本代碼如下:

#include<stdio.h>

int main( )

{

int a, b, c;//定義三個數的變數

int t ;//定義作為交換的變數

scanf ( "%d%d%d" , &a, &b, &c ) ; //取值

if ( a < b )

{t = a; a = b; b = t ;};//如果a,b,進行交換,反之不動

if ( a < c )

{t = a; a = c; c = t ;};//同上

if ( b < c )

{t = b; b = c; c = t ;};

printf( "%-5d%-5d%-5d " , a, b, c);//輸出

}

(2)簡單三位數排序c語言擴展閱讀:

C語言中其他多個數排序的方法:

1、冒泡排序法

#include <stdio.h>

#define SIZE 8

void bubble_sort(int a[], int n);

void bubble_sort(int a[], int n)

{

int i, j, temp;

for (j = 0; j < n - 1; j++)

for (i = 0; i < n - 1 - j; i++)

{

if(a[i] > a[i + 1])

{

temp = a[i];

a[i] = a[i + 1];

a[i + 1] = temp;

} } }

int main()

{

int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};

int i;

bubble_sort(number, SIZE);

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

{

printf("%d ", number[i]);

}

}

2、選擇排序

#include<stdio.h>

void main()//主函數

{

int a[10];

int i,j,w;

printf("請輸入10個數字: ");

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

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

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

{

for(j=i+1;j<10;j++)

if(a[i]<a[j])//進行比較

//比較後進行交換

{

w=a[i];

a[i]=a[j];

a[j]=w;

}

⑶ 三位數排列的C語言程序

c-free下編譯通過,已優化!
#include
"stdio.h"
void
fun(int
m)
{
int
i,j=0;
for(i=2;i<=m;i++)
{
while(m%i==0)
{
j++;
if(j==1)
printf("握塌=%d",i);
else
printf("*%d",i);
m=m/i;
}
}
}
int
main()
{
int
i,j,k,t,num[4],s[100],temp;
printf("按陸皮遲從大到小順序輸入早李4個不同的整數(1~9):\n");
scanf("%d%d%d%d",&num[0],&num[1],&num[2],&num[3]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
for
(k=0;k<4;k++)
{
if
(num[i]!=num[k]&&num[i]!=num[j]&&num[j]!=num[k])
{
printf("%d%d%d",num[i],num[j],num[k]);
temp=100*num[i]+10*num[j]+num[k];
fun(temp);
printf("\n");
}
}
}

⑷ C語言中 怎麼對任意三個整數排序(從小到大)

#include
<stdio.h>
int
main()
{
int
t,a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a,a=b,b=t;
}
if(a<c)
{
t=a,a=c,c=t;
}
if(b<c)
{
t=b,
b=c,
c=t;
}
printf("%d
%d
%d\n",c,b,a);
return
0;
}
原理就是運用冒泡演算法,把最大的數浮在最上面,而小的數就下沉,最後就輸出。

⑸ C語言中從鍵盤上輸入三個數,將之排序後按由大到小的順序輸出

一、思路過程:

(1)定義數據類型,本實例中 a、b、c、t 均為基本整型。

(2) 使用輸入函數獲得任意 3 個值賦給 a、b、c。

(3) 使用 if 語句進行條件判斷,如果 a 大於 b,則藉助於中間變數 t 互換 a 與 b 值, 依此類推比較 a 與 c、b 與 c,最終結果即為 a、b、c 的升序排列。

(4) 使用輸出函數將 a、b、c 的值依次輸出。

二、定義一個Swap函數,使用一個中間變數,對比兩個數字的大小,並進行數值替換。

(5)簡單三位數排序c語言擴展閱讀:

使用 scanf("%d%d%d",&a,&b,&c); 從鍵盤中獲得任意 3 個數。

在輸入數據時,在兩個數據之間以一個或多個空格間隔,也可以用 Enter 健、Tab 鍵,不能用逗號作為兩個數據間的分隔符。

如果用格式輸入函數 scanf("%d,%d,%d",&a,&b,&c) 輸入數據,兩個數據之間要用「,」做間隔。

⑹ C語言中怎麼把三個整數從小到大排列

原理就是運用冒泡演算法,把最大的數浮在最上面,而小的數就下沉,最後就輸出。
方法如下:
分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,
然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。
1.從控制台讀入三個數;
2.實現三個數從小到大排序:
(1)將第一個數作為最小數,依次和第二,三個數進行比較。兩次比較重如果有任意一個比第一個小,則將兩個數交換

(2)在(1)步後,得到第一個數為最小數。再將第二個數與第三個數比較大小後即可實現三個數從小到大排序。
拓展資料
兩種常用排序方法:
1.選擇排序法:從一列數中,選擇第一個作為最小數,依次和後面的數進行比較。如有比第一個數小的數,則交換兩個數。最後排到該列數都倒數第二個時,這列數就從小到大排好了順序。
2.冒泡排序法:思路與選擇排序法一致。不同的是,冒泡排序將第一個作為最大數,然後再和該數後的數進行比較。

⑺ c語言實現三個數從小到大排列

兩個數的排序,只需要比較一下,如果第一個比第二個大,交換一下,否則什麼都不用做。
三個數的排序纖芹
,可以先將前兩個排序,保證第一個比毀渣畢第二個小。
然後將第二個和第三個數排序,保證第二個比第三個小。
經過上面兩次排序,保證了第三個是最大的,但梁宴不能保證第二個還比第一個大,因為第二次排序的時候可能改變了第二個數。因此,還要再將前兩個數進行排序。最終保證了三個整數從小到大排列。

⑻ 用C語言對三個數從大到小排序

最小用min 不要用main. 這個是主函數名沒讓帆 不能和變枯雹滑大量重復的.

#include<stdio.h>
intmain(void)
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b;
min=a<b?a:b;
if(c>max)max=c;
if(c<min)min=c;//這里用<
printf("從大到小排序:%d%d%d ",max,a+b+c-max-min,min);
return0;
}

⑼ C語言中三個數排序

用C語言編寫通過if將3個數排序:

#include<stdio.h>/*函數頭:輸入輸出頭文件*/

void main()/*空類型:主函數*/

{

inta,b,c,t;/*定義變數的數據類型為整型*/

printf("輸入3個數,中間用空格隔開:");/*輸出文字提示*/

scanf("%d%d%d",&a,&b,&c);/*輸入3個數字*/

if(a<b)/*判斷a是否小於b*/

{t=a;a=b;b=t;}/*是,則a、b的值互換*/

if(a<c)/*判斷a是否小於c*/

{t=a;a=c;c=t;}/*是,則a、c的值互換*/

if(b<c)/*判斷b是否小於c*/

{t=b;b=c;c=t;}/*是,則b、c的值互換*/

printf("從小到大:%d,%d,%d ",c,b,a);/*輸出從小到大排列的數*/

printf("從大到小:%d,%d,%d ",a,b,c);/*輸出從大到小排列的數*/

}

(9)簡單三位數排序c語言擴展閱讀

輸入三個數,比較其大小,並從大到小輸出。

#include<stdio.h>

int main(){

inta,b,c;

scanf("%d%d%d",&a,&b,&c);

if(a<b){

intflag=a;

a=b;

b=flag;

}

if(a<c){

intflag=a;

a=c;

c=flag;

}

if(b<c){

intflag=b;

b=c;

c=flag;

}

printf("%d%d%d",a,b,c);

}

⑽ 求C語言三位數的排序,和求出一個最大的數

#include<stdio.h>升叢仿
void main(){
int num[3],temp,i,i;
for(i=0;i<3;i++){
printf("請輸入第%d個數:鄭岩",(i+1));
scanf("%d",&num[i]);
}
for(i=0;i<3;i++){
for(j=0;j<吵纖2-i;j++){
if(num{j}<num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
printf("這三個數最大的是:%d\n",num[0]);
}