㈠ c語言程序設計: 從用戶輸入10個整數,對其按照從小到大的順序排序,並輸出結果。
//要求任意輸入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;
}
(1)c語言數字排序程序擴展閱讀:
①printf()函數是格式化輸出函數,一般用於向標准輸出設備按規定格式輸出信息。
格式輸出,它是c語言中產生格式化輸出的函數(在stdio.h中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字和數據格式說明組成。
要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
簡單點理解就是,在一段程序中你正確使用該函數,可以在該程序運行的時候輸出你所需要的內容。
②printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。
printf()函數的調用格式為:printf("<格式化字元串>",<參量表>)。
其中格式化字元串用於指定輸出格式。格式控制串可由格式字元串和非格式字元串兩種組成。
㈡ C語言中將三個數字進行排序的幾種寫法
方法1:用3個變數存放3個數字,按從大到小的順序排:
int a,b,c,tmp;
printf("請輸入3個數字:");
scanf("%d%d%d",&a,&b,&c);
if(a<b)//如果a比b小,交換a和b的值,使a存放大的數字
{
tmp=a;
a=b;
b=tmp;
}
if(a<c)//如果a比c小,交換a和c的值,使a存放大的數字
{
tmp=a;
a=c;
c=tmp;
}
if(b<c)//如果b比c小,交換b和c的值,使b存放大的數字
{
tmp=b;
b=c;
c=tmp;
}
printf("按照從大到小的順序為:%d,%d,%d ",a,b,c);
方法2:用數組存放3個變數,用冒泡排序的方法進行排序
int i=0,j=0,tmp=0,a[3];
printf("請輸入3個數字:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
for(j=0;j<2-i;j++)
if(a[i]<a[i+1])//按照從大到小排列
{
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
}
printf("按照從大到小的順序為:");
for(i=0;i<3;i++)
printf("%d ",&a[i]);
printf(" ");
㈢ 用C語言編程:用選擇法對10個整數排序,10個整數用scanf函數輸入
1、打開visual C++ 6.0,准備一個空白的c語言文件,引入頭文件,在main函數中定義變數和數組:
㈣ 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
}
㈤ 用c語言編寫:實現一個用戶輸入的數字進行排序的程序。
#include <stdio.h>
void main()
{
int j,a[100],k,x;
int num=0,i=0;
printf("如果你想結束數字的輸入,請輸入-1\n");
printf("請輸入數字");
scanf("%d",&x);
while(x!=-1)
{
a[num]=x;
num=num+1;
if(num>=10){printf("你最多隻能輸入100個數字\n");break;}
printf("請輸入數字");
scanf("%d",&x);
}//輸入數據,並且存到數組a中
printf("1----按升序排序\n");
printf("2----按降序排序\n");
printf("請輸入你的選擇:");
scanf("%d",&k);
while(k>2 || k<1)
{
printf("你的輸入有誤,請從新輸入:");
printf("1----按升序排序\n");
printf("2----按降序排序\n");
scanf("%d",&k);
}
if(k==1)
{
for(i=0;i<num-1;i++)
for(j=i+1;j<num;j++)
if (a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
else
{
for(i=0;i<num-1;i++)
for(j=i+1;j<num;j++)
if (a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
printf("排序的結果\n");
for(i=0;i<num;i++)
printf("%d\n",a[i]);
}
㈥ C語言--怎樣實現輸入任意幾個數排序
把循環次數改成你想要的數就可以了。
比如上面你的程序,for語句中的i<=9,這個9改成你想要的次數。另一種方法,這個次數也作為一個變數從鍵盤輸入,這樣適應性相對來說好一些,不用每次都編譯程序。
提醒,如果是大批量的輸入數據,用鍵盤逐個輸入數據是比較低效和低准確率的方法,通常採用數據文件(比如一個文本文件)的方式。
你能問出這個問題來,說明你對上面的代碼還沒有理解透徹,好好學習吧。
----------------------------------------------------
對於lz的補充的回答:
我前面說的:另一種方法,這個次數也作為一個變數從鍵盤輸入,這樣適應性相對來說好一些,不用每次都編譯程序。
但是有一個問題,就是C不支持動態定義數組。解決方法兩種:一、定義一個足夠大的數組(但有越界的可能,程序里要做判斷和控制)。二、使用動態內存分配,可以從根本上解決此問題。
還有一種折中的辦法,就是對排序數定義一個宏,程序中的循環都使用這個宏來控制循環,如果排序數量更改了,雖然需要重新編譯程序,但是也很好修改,只要改這個宏的數值就可以了。
㈦ 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(" ");
}
㈧ 如何用C語言設計程序排列6個數字的大小順序
排序數組可以使用冒泡演算法:如果前一個數據比後一個大,則交換。
{
int i,j,t,a[6];
printf("Please input 6 integers: ");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++) /* 冒泡法排序 */
for(j=0;j<6-i-1;j++)
if(a[j]>a[j+1])
{t=a[j];/* 交換a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;
}
優點:
簡潔緊湊、靈活方便:C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,區分大小寫。把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
以上內容參考:網路-c語言程序設計
㈨ 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;
}
(9)c語言數字排序程序擴展閱讀:
include用法:
#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。
插入頭文件的內容
#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:
#include<math.h>//一些數學函數的原型,以及相關的類型和宏
如果需要包含針對程序所開發的源文件,則應該使用第二種格式。
採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。