亚洲人成电影青青在线播放-亚洲人成www在线播放-亚洲人成a在线网站-亚洲人av高清无码-久操久-久操-9c.lu

當前位置:首頁 > 工作 > 正文

C語言實現數字排序:輸入任意個數整數并按序輸出,以三個整數為例(2024版)

1、參考2樓,修改兩個語法錯誤:scanf("%d,%d,d%",&x,&y,&z);應該是:scanf("%d,%d,%d",&x,&y,&z);輸出語句:printf("輸入的三個數字由大到小排列為:%d,%d,%d",z,y,x);

2、算法太亂,應該先對x,y,z排序,排序的算法是兩兩相比較,如果前者大就交換,最后得到x,y,z是從小到大,輸出時反序z,y,x就行了,簡潔完整并通過了調試的代碼如下:

#include<stdio.h>

int main()

int x,y,z,t;

printf("請輸入三個不同的數字,每輸入一個數字用逗號隔開\n");

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

if(x>y){t=x;x=y;y=t;}

if(x>z){t=x;x=z;z=t;}

if(y>z){t=y;y=z;z=t;}

printf("輸入的三個數字由大到小排列為:%d,%d,%d",z,y,x);

#include<stdio.h>

void pai(){int i,j,t;for(i=0;i<3;i++)for(j=i+1;j<2;j++)if(a[i]>a[j]){t=a[j];a[j]=a[i];a[i]=a[j];}}。

main(){int a[3],i;for(i=0;i<3;i++)scanf("%d",&a[i]);pai();for(i=0;i<3;i++)printf("%d",a[i]);}。

3、輸入三個整數,要求按從小到大的順序輸出。解題思路:此題采用依次比較的方法排出其大小順序。

#include<stdio.h>

main()

{int a,b,c,t;

printf("input three number please;");

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

if(a>b)

{ t=b;b=a;a=t;}

if(a>c)

{t=c;c=a;a=t;}

if(b>c)

{ t=c;c=b;b=t;}//對三個數進行簡單的排序

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

C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,區分大小寫。把高級語言的基本結構和語句與低級語言的實用性結合起來。C語言可以像匯編語言一樣對位、字節和地址進行操作,而這三者是計算機最基本的工作單元。

代碼段一:

```makefile

int main() {

void swap(char pt1, char pt2); //聲明swap函數

char a[20], b[20], c[20]; //定義三個字符數組

char p1, p2, p3; //定義三個指針變量

printf("請輸入三個字符串:"); //提示用戶輸入三個字符串

gets(a); gets(b); gets(c); //獲取用戶輸入的三個字符串

//或者使用scanf("%s,%s,%s", a, b, c); //使用scanf函數獲取輸入字符串的方式

p1 = &a[0]; p2 = &b[0]; p3 = &c[0]; //三個指針分別指向三個字符數組的首地址

if (strcmp(p1, p2) > 0) swap(p1, p2); //比較兩個字符串的大小,如果第一個大于第二個則交換它們的位置

if (strcmp(a, c) > 0) swap(a, c); //如果第一個字符串大于第三個則交換它們的位置

if (strcmp(b, c) > 0) swap(b, c); //如果第二個字符串大于第三個則交換它們的位置

printf("由小到大排列:%s\n%s\n%s\n", a, b, c); //輸出排序后的字符串結果

return 0; //程序結束返回值為0

void swap(char pt1, char pt2) { //定義swap函數,用于交換兩個字符串的內容位置