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

正整數從大到小排序c語言

發布時間: 2022-09-03 07:24:43

1. c語言:輸入四個正整數按從大到小排序,用冒泡排序方法,書上沒有詳細過程,老師沒講,盡量用簡單的方法

#include<stdio.h>
intmain()
{
inta[4],i,j,t;
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
{
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<4;i++)
printf("%d",a[i]);
}

這是最簡單的冒泡排序把,利用雙for循環完成的。這個代碼的意思是,將數字存入到一個數組中,然後用數組的第一個元素一次後面的元素比較,如果後面的元素大於第一個元素,那麼就和第一個元素對調。這樣最大的個元素會移動到第一個元素的位置上。然後用數組的第二個元素同樣的方法進行比較和交換。最終完成從大到小的排序。

外面的for循環的作用是確定用來比較的基數的、。第一循環時,它確定的比較基數就是第一個元素,以此類推。裡面的循環的作用是將基數和後面的元素比較,如果後面的元素小於的基數,那麼和基數互相對調。

2. 請問怎麼用C語言把一個正整數的每一位從大到小重新排列啊

用個數組保存數字的每位數,然後對數組排序…將數字的每位數取出來的演算法為%10,/10

3. C語言如何輸入十個數,按從大到小順序排列!

用選擇排序法編寫c語言,實現從鍵盤上輸入10個數,按從大到小的順序排序輸出。代碼如下:

#include<stdio.h>

int main()

{

int i,j,a[10],t;

printf("輸入數");

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]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

printf("從大到小");

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

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

return 0;

}

(3)正整數從大到小排序c語言擴展閱讀:

代碼還可以設計,如下:

#include<stdio.h>

int main()

{

int a[10],i,j,t;//定義數組;

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

scanf("%d",&a[i]);//給數組賦值;

}

for(i=0;i<9;i++)//10個數,進行9輪比較;

for(j=0;j<10-i;j++){//第一個數比較9次,依次遞減;

if(a[j]>a[j+1]) {//交換值;

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

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

printf("%d ",a[i]);//輸出數組的值;

}

return 0;

}

}

printf("the sorted numbers: ");

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

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

printf(" ");

}

4. C語言的編程題:輸入三個整數,按從大到小的順序輸出

#include <stdio.h>

main()

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if (x<y)

{t=x;x=y;y=t;}

if(x<z)

{t=z;z=x;x=t;}

if(y<z)

{t=y;y=z;z=t;}

printf("%d %d %d ",x,y,z);

}

(4)正整數從大到小排序c語言擴展閱讀:

使用三元運算符,這個運算符會使程序進一步簡化,而且看起來更加的直觀。

它的一般形式如下:

表達式1? 表達式2:表達式3;

? 表達式的值是由 表達式1 決定的。如果 表達式1 為真,則計算表達式2 的值,結果即為整個 ? 表達式的值。如果 表達式1 為假,則計算 表達式3 的值,結果即為整個 ? 表達式的值。

程序如下:

#include<stdio.h>

int main()

{

int max;

int a,b,c;

printf("請輸入三個數:");

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

max=a>b?a:b;

max=c>max?c:max;

printf("Max is %d",max);

return 0;

}

5. c語言 輸入十個整數,從大到小排序,並輸出來。求解題思路

冒泡排序:

#include<stdio.h>

int main()

{ int a[10];

int i,j,t;

printf("input 10 numbers: ");

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

scanf("%d",&a[i]);//輸入10個數值

printf(" ");

for(j=0;j<9;j++) //進行9輪比較

for(i=0;i<9-j;i++) //每一輪中進行9-j次比較

if(a[i]<a[i+1]) //相鄰兩個數比較

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("output 10 numbers: ");

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

printf("%d ",a[i]); //按順序輸出10個數值

printf(" ");

return 0;

}

當然很多行可以省掉。只是這樣更清楚。

6. 輸入4個整數,要求從大到小排列(用C語言的IF語句)

就是冒泡演算法咯:
把序列底部的數字跟上面的數字依次比較,如果比上面的大就把他們交換位置,直到比上面的小為止,這樣把每個數字都這樣弄一次數列就按順序排好了。

void main()
{
int a[3];
int i,temp;

for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}

for(i=0;i<4;i++)
{
int j;
for(j=0;j<=4-i;j++)
{

if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}

}
}

for(i=0;i<4;i++)
{
printf("%d",a[i]);
}

}

7. C語言~十個數字從小到大怎麼排列~從大到小呢~

//要求任意輸入10個數,然後按從小到大順序輸出
#include <stdio.h>
int main()
{
int a[10];
int i,j;
int temp;
printf("請輸入10個整數:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排列後順序為:");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf(" ");
return 0;
}

8. C語言用選擇法對10個整數按從大到小排序怎麼做

#include<stdio.h>//標准輸入輸出函數調用需要此頭文件、就是那個printf和scanf函數要用的
void main()//主函數
{int i,j,min,temp,a[10];
printf("請輸入:\n"); //屏幕輸出引號內的字元然後換行
for(i=1;i<=10;i++) //從鍵盤上循環輸入10個數據
{printf("a[%d]=",i);
scanf("%d",&a[i]);} //讀取數據函數
printf("\n"); //換行
for(i=1;i<=9;i++) //比較10個數據
{min=i; //每次比較的最小數據賦給min
for(j=i+1;j<=10;j++) //比較循環控制
if (a[min]>a[j]) min=j; //大小數值判斷
temp=a[i];
a[i]=a[min]; //a[i]里存放的最小數值
a[min]=temp;}
printf("\n從大到小排列是:\n"); //輸出字元
for(i=10;i>=1;i--) //循環輸出按大小排列的數據
printf("%5d",a[i]);
printf("\n");//每輸出一個數據換行
}

9. C語言,輸入三個整數,按從大到小的順序輸出

#include"stdio.h"
intmain(intargc,char*argv[]){
intx,y,z;
printf("Pleaseenter3integers... ");
scanf("%d%d%d",&x,&y,&z);
if(x>y)
x^=y,y^=x,x^=y;
if(x>z)
x^=z,z^=x,x^=z;
if(y>z)
y^=z,z^=y,y^=z;
printf(" %d%d%d ",x,y,z);
return0;
}

運行樣例:

10. 輸入10個整數按照由大到小的順序如何輸出C語言編寫

#include <stdio.h>
#define NUM 10
void main()
{
int i,j,k,a[NUM];
printf("請輸入10個數字進行從大到小的排序:");
for(i=0;i<NUM;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<NUM;i++)
{
for(j=0;j<NUM;j++)
{
if(a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<NUM;i++)
{
printf("%d",a[i]);
}
}