㈠ 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<stdio.h>
int main(){
int a,b,c,t;
printf("請輸入三個整數: ");
scanf("%d,%d,%d",&a,&b,&c);
if(a<b){//完成a和b值的交換,a裡面放最大值
t=a;
a=b;
b=t;
}
if(a<c){//完成a和c值的交換,a裡面放最大值
t=a;
a=c;
c=t;
}
if(b<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) 數組是一個整體,它的內存是連續的。