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

c語言做數字排列

發布時間: 2022-10-09 05:58:58

1. 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);//輸出

}

(1)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;

}

2. 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);/*輸出從大到小排列的數*/

}

(2)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);

}

3. 用C語言如何對大量數字進行排序

#include &lt;stdio.h&gt; void select_Sort1(int a[],int n); void select_Sort2(int a[],int n); void bubble_Sort(int a[],int n); void insert_Sort(int a[],int n);

void quick_Sort(int a[],int low,int high); int findpos(int a[],int low,int high);

int main() { int a[10]; int i;

printf(&quot;please enter ten int number: &quot;); for(i=0;i&lt;10;i++) {

scanf(&quot;%d&quot;,&amp;a[i]); }

//select_Sort2(a,10); //bubble_Sort(a,10); //insert_Sort(a,10); quick_Sort(a,0,9);

printf(&quot;after sorted: &quot;); for(i=0;i&lt;10;i++) {

printf(&quot;%5d&quot;,a[i]);

4. C語言中如何對一組數進行排列

#include "time.h"
#include "stdio.h"
#include "stdlib.h"

int aa[100];
int bb[100];
void main()
{
void ReadDat();//隨機產生100個學生成績存放到數組aa中,隨機產生100個相應的學號存放到bb數組中
void WriteDat();//輸出排序後的成績和相應的學號。
void jsSort();
ReadDat();
printf("*********************************\n");
printf("初始成績單為:\n");
WriteDat();
jsSort();
printf("*********************************\n");
printf("排序後成績單為:\n");
WriteDat();
return ;
}
void ReadDat()
{
srand(time(NULL));//隨機數種子
for(int i=0;i<100;i++)
{
aa[i]=1+(int)(100.0*rand()/(RAND_MAX+1.0));//產生隨機數
}
for(i=0;i<100;i++)
{
bb[i]=1+(int)(100.0*rand()/(RAND_MAX+1.0));//產生隨機數
}
}
void WriteDat()
{
int i;
printf("序號\t成績: \t學號: \n");
for(i=0;i<100;i++)
printf("%d\t成績:%3d\t學號:%d\n",i+1,aa[i],bb[i]);
}
void jsSort()
{
int i,j,t;
for(i=0;i<99;i++)
for(j=0;j<99-i;j++)
{
if(aa[j]<aa[j+1])
{
t=aa[j];///////////冒泡排序,同時調整對應的學號數組bb
aa[j]=aa[j+1];
aa[j+1]=t;
t=bb[j];
bb[j]=bb[j+1];
bb[j+1]=t;
}
}
}

5. C語言--怎樣實現輸入任意幾個數排序

把循環次數改成你想要的數就可以了。

比如上面你的程序,for語句中的i<=9,這個9改成你想要的次數。另一種方法,這個次數也作為一個變數從鍵盤輸入,這樣適應性相對來說好一些,不用每次都編譯程序。

提醒,如果是大批量的輸入數據,用鍵盤逐個輸入數據是比較低效和低准確率的方法,通常採用數據文件(比如一個文本文件)的方式。

你能問出這個問題來,說明你對上面的代碼還沒有理解透徹,好好學習吧。
----------------------------------------------------
對於lz的補充的回答:
我前面說的:另一種方法,這個次數也作為一個變數從鍵盤輸入,這樣適應性相對來說好一些,不用每次都編譯程序。

但是有一個問題,就是C不支持動態定義數組。解決方法兩種:一、定義一個足夠大的數組(但有越界的可能,程序里要做判斷和控制)。二、使用動態內存分配,可以從根本上解決此問題。

還有一種折中的辦法,就是對排序數定義一個宏,程序中的循環都使用這個宏來控制循環,如果排序數量更改了,雖然需要重新編譯程序,但是也很好修改,只要改這個宏的數值就可以了。

6. C語言數字排序

輸入scanf是用的變數地址
&x
&y
&z
輸出時,是用的變數x,
y,
z
所以sort3要改變這3個變數地址(指針)指向的值
#include
<stdio.h>
void
sort3(double
*x,
double
*y,
double
*z);
int
main(int
argc,
char
*argv[]){
double
x,y,z;
if(scanf("%lf
%lf
%lf",&x,&y,&z)==3){
sort3(&x,&y,&z);
printf("%lf\n%lf\n%lf\n",x,y,z);
}else{
fprintf(stderr,"Error:
Incorrect
format\n");
}
return
0;
}
void
sort3(double
*x,
double
*y,
double
*z){
double
a
=
*x,
b
=
*y,
c
=
*z;
printf("a:%f
b:%f
c:%f\n",a,
b,
c);//testing
if(*x
>
*y)
{
a
=
*y;
b
=
*x;
}
if(c
<
a)
{
*x
=
c;
*y
=
a;
*z
=
b;
}
else
if(c
<
b)
{
*x
=
a;
*y
=
c;
*z
=
b;
}
else
{
*x
=
a;
*y
=
b;
*z
=
c;
}
printf("sorted
numbers:\n");//testing
printf("%f
%f
%f\n",*x,
*y,
*z);//testing
}

7. 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;

}

(7)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(" ");

}

8. c語言編程: 將一組數按從大到小的順序排序

#include <stdio.h>

main()

{

int x;

printf("請輸入要排序數字個數:");

scanf("%d",&x);

int i,j,k,a,b,num[x];

printf("輸入數據:");

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

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

for(j=0;j<x;j++)

{

for(k=j+1;k<x;k++)

if(num[k]>num[j])

{

a=num[j];

num[j]=num[k];

num[k]=a;

}

}

for(b=0;b<x;b++)

printf("%d ",num[b]);

return 0;

}

(8)c語言做數字排列擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:

#include&lt;math.h&gt;//一些數學函數的原型,以及相關的類型和宏

如果需要包含針對程序所開發的源文件,則應該使用第二種格式。

採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。

9. 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;
}

10. C語言對N個數進行排序

!!!!!!!!
!!!!!!!!
!!!!!!!!
註:c語言中可以將數組長度定義為變數,只是這種方法在vs中編譯不能通過,但在更為標準的dev中以及gcc中完全可以編譯通過!
一定要給分啊!自己寫的!
#include"stdio.h"
#include"conio.h"
int
main()
{
int
length;
printf("請輸入要排序的數字個數:\n");
scanf("%d",&length);
int
data[length],i;
void
mbquicksort(int
*imput,int
start,int
end);
printf("請依次輸入這些數字,以空格分隔:\n");
for(i=0;i
=x))++start;
imput[end]=imput[start];
}
imput[start]=x;
mbquicksort(imput,start,start-1);
mbquicksort(imput,start+1,end);
}
}