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

c語言輸入三個數按大到小輸出

發布時間: 2022-04-20 02:10:57

c語言,輸入三個不同的數字,按從從大到小輸出

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
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);
}

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

具體操作方法如下:

#include<stdio.h>

int main(void)

{int a,b,c,t;

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

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

if(a<b)

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

if(b<c)

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

if(a<b)

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

printf("從大到小:%d %d %d",a,b,c);

system("pause");

return 0;}

注意:中間的t=a;a=b;b=t,就是交換a和b的位置,總是把大的換到前面來。

(2)c語言輸入三個數按大到小輸出擴展閱讀:

c語言任意輸入5個數,並按從大到小順序輸出的方法如下:

#include <stdio.h>

#include <stdlib.h>

int main()

{int a[5];

int i,j,k;

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

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

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

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

{if(a[i]>a[j])

{k=a[i]; a[i]=a[j]; a[j]=k;}}}

printf("排序結果是: ");

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

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

}return 0;

㈢ 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);

}

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

}

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

#define _CRT_SECURE_NO_WARNINGS

#include&lt;stdio.h&gt;

int main(){

int a,b,c,t;

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

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

if(a&lt;b){//完成a和b值的交換,a裡面放最大值

t=a;

a=b;

b=t;

}

if(a&lt;c){//完成a和c值的交換,a裡面放最大值

t=a;

a=c;

c=t;

}

if(b&lt;c){//完成b和c值的交換,a裡面放最大值

t=b;

b=c;

c=t;

}

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

return 0;

}

運行結果:

(4)c語言輸入三個數按大到小輸出擴展閱讀:

return 0代表程序正常退出。return是C++預定義的語句,它提供了終止函數執行的一種方式。當return語句提供了一個值時,這個值就成為函數的返回值。

return語句用來結束循環,或返回一個函數的值。

1、return 0,說明程序正常退出,返回到主程序繼續往下執行。

2、return 1,說明程序異常退出,返回主調函數來處理,繼續往下執行。return 0或return 1對程序執行的順序沒有影響,只是大家習慣於使用return(0)退出子程序而已。

㈤ 編寫一個c語言程序,從鍵盤輸入三個數,要求按從大到小的順序輸出這三個數。

測試示例:

int main()

{

int a,b,c;

int maxNum,minNum,midNum;

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

if (a>b)

{

if (a>c)

{

maxNum = a;

if (b>c)

{

midNum = b;

minNum = c;

}

else

{

midNum = c;

minNum = b;

}

}

else

{

maxNum = c;

midNum = a;

minNum = b;

}

}

printf("%d %d %d ",maxNum,midNum,minNum);

return 0;

}

運行結果

㈥ c語言三個數從大到小輸出

#include <stdio.h>

int main() {
int a, b, c, t;
printf("請輸入三個數:");
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", a, b, c);
return 0;
}

㈦ c語言程序:輸入三個數,要求從大到小輸出

if語句後面交換數值的代碼應該整體用{}括起來,此外,語句之間應用分號;
另外,交換的邏輯也不對。
下面附上參考代碼
#include<stdio.h>
int
main()
{
int
a,b,c,t;
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=b,b=c;c=t;}
printf("%d,%d,%d\n",a,b,c);
return
0;
}
注意輸入的時候,三個數要用逗號,隔開
123,456,789
789,456,123

㈧ C語言如何從鍵盤輸入任意3個數,按從小到大的順序輸出

代碼1.

//輸入3個數,要求按從小到大順序輸出

#include<stdio.h>

intmain()
{
inta,b,c,t;
printf("請輸入三個數:");
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 ",a,b,c);
return0;
}

代碼2.

輸入3個字元串,按從小到大順序輸出。//先用程序對三個數進行從小到大排序,然後修改程序
#include<stdio.h>
#include<string.h>
intmain()
{voidswap(char*pt1,char*pt2);
chara[20],b[20],c[20];
char*p1,*p2,*p3;
printf("請輸入三個字元串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三個指針分別指向三個字元數組
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b);//比較兩個字元串的大小,為什麼用前一句的時候會出現警告呢

if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);//if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s %s %s ",a,b,c);
return0;
}

voidswap(char*pt1,char*pt2)
{chart[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
}

代碼3.

#include<stdio.h>
#include<string.h>
#defineSIZE3
#defineLEN50


intmain(void)
{
charstr[SIZE][LEN];
char(*pst)[LEN]=str;
chartemp[LEN];
inti,j;

printf("Pleaseenter3string. ");

for(i=0;i<SIZE;i++)
{
fgets(*(pst+i),LEN,stdin);
}
printf("Beforsort: ");

for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);

}
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
{

if(strcmp(*(pst+i),*(pst+j))==1)
{
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
}

}
printf("Aftersort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}

}

㈨ c語言編輯程序,任意輸入3個數,按從大到小的順序輸入

思路:三個數按從大到小順序輸出,可以先求出三個數中的最大值和最小值,三個數的和減去最大值和最小值的差就是中間數,接著依次輸出即可。
參考代碼:
#include "stdio.h"
int main()
{
int a,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
if(a>b){
max=a;
min=b;
}
if(c>max) max=c;
if(min>c) min=c;
printf("從大到小排序:%d %d %d\n",max,a+b+c-max-min,min);
}
/*
運行結果:
3 1 2
從大到小排序:3 2 1
*/

㈩ C語言 有3個數a,b,c,要求按大小順序把它們輸出。

下面介紹兩種解題方法

1.用if else語句求解:

#include<stdio.h>

int main()

{

int a,b,c,x;

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

if(a>b){x=a;a=b;b=x;}

if(a>c){x=a;a=c;c=x;}

if(b>c){x=b;b=c;c=x;}

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

return 0;

}

(10)c語言輸入三個數按大到小輸出擴展閱讀

上述過程中我們用到了數組的知識,數組使用需要注意的是:


1) 數組中每個元素的數據類型必須相同,對於int a[4];,每個元素都必須為 int。

2) 數組長度 length最好是整數或者常量表達式,

3) 訪問數組元素時,下標的取值范圍為 0 ≤ index < length,

4) 數組是一個整體,它的內存是連續的。