Ⅰ c語言編程題 從鍵盤上輸入3個數a b c 按照升序排列後輸出 怎麼編啊
#include<stdio.h>
main()
{
floata,b,c,temp;
//輸入abc以空格隔開
scanf("%f%f%f",&彎判a,&b,&c);
if(a>b)
{//如果a大於b則將a和b進行埋指改互換
temp=a;a=b;b=temp;
}
if逗氏(a>c)
{//如果a大於c則將a和c進行互換
temp=a;a=c;c=temp;
}
if(b>c)
{//如果b大於c則將b和c進行互換
temp=b;b=c;c=temp;
}
//列印abc
printf("%f%f%f",a,b,c);
}
Ⅱ 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);
}
Ⅲ 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語言中從鍵盤上輸入三個數,將之排序後按由大到小的順序輸出
一、思路過程:
(1)定義數據類型,本實例中 a、b、c、t 均為基本整型。
(2) 使用輸入函數獲得任意 3 個值賦給 a、b、c。
(3) 使用 if 語句進行條件判斷,如果 a 大於 b,則藉助於中間變數 t 互換 a 與 b 值, 依此類推比較 a 與 c、b 與 c,最終結果即為 a、b、c 的升序排列。
(4) 使用輸出函數將 a、b、c 的值依次輸出。
二、定義一個Swap函數,使用一個中間變數,對比兩個數字的大小,並進行數值替換。
(4)c語言中輸出三個數的升序擴展閱讀:
使用 scanf("%d%d%d",&a,&b,&c); 從鍵盤中獲得任意 3 個數。
在輸入數據時,在兩個數據之間以一個或多個空格間隔,也可以用 Enter 健、Tab 鍵,不能用逗號作為兩個數據間的分隔符。
如果用格式輸入函數 scanf("%d,%d,%d",&a,&b,&c) 輸入數據,兩個數據之間要用「,」做間隔。