㈠ 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函數,使用一個中間變數,對比兩個數字的大小,並進行數值替換。
(1)c語言比較三個數大小升序輸出擴展閱讀:
使用 scanf("%d%d%d",&a,&b,&c); 從鍵盤中獲得任意 3 個數。
在輸入數據時,在兩個數據之間以一個或多個空格間隔,也可以用 Enter 健、Tab 鍵,不能用逗號作為兩個數據間的分隔符。
如果用格式輸入函數 scanf("%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語言3個數比大小,順序輸出
main() //主函數
{float a,b,c,t; //聲明部份,定義變數,浮點
printf("Enter a,b,c:"); //接收屏幕格式輸入
scanf("%f,%f,%f",&a,&b,&c); //輸入變數a、b、c的值
if(a<b){t=a;a=b;b=t;} //比較a和b的值,如果a<b,則a和b的值互換
if(a<c){t=a;a=c;c=t;} //比較a和c的值,如果a<c,則a和c的值互換
if(b<c){t=b;b=c;c=t;} //比較b和c的值,如果b<c,則b和c的值互換
printf("%5.2f\n%5.2f\n%5.2f\n",a,b,c); //輸出a、b、c的值
}
======================================================
1、
本常式是輸入3個數字,再按大到小排序
其中{}中的內容是這樣的意思
當a<b時,則中間變數t=a,再將b的值賦給a,再將t的值賦給a
這樣就完成了一個a和b的值互換。
2、
printf("%5.2f\n%5.2f\n%5.2f\n",a,b,c);
其中%5.2f 是指輸入格式按_____.__輸入出浮點格式的數。
12345.00
如:7輸出的格式是____7.00
1234_.__
其中\n是回車符
㈣ C語言中要把三個數從大到小排列出來應該怎麼編
初學簡單版本代碼如下:
#include<stdio.h>
int main( )
{
int a, b, c;//定義三個數的變數
int t ;//定義作為交換的變數
scanf ( "%d%d%d" , &a, &b, &c ) ; //取值
if ( a < b )
{t = a; a = b; b = t ;};//如果a,b,進行交換,反之不動
if ( a < c )
{t = a; a = c; c = t ;};//同上
if ( b < c )
{t = b; b = c; c = t ;};
printf( "%-5d%-5d%-5d " , a, b, c);//輸出
}
(4)c語言比較三個數大小升序輸出擴展閱讀:
C語言中其他多個數排序的方法:
1、冒泡排序法
#include <stdio.h>
#define SIZE 8
void bubble_sort(int a[], int n);
void bubble_sort(int a[], int n)
{
int i, j, temp;
for (j = 0; j < n - 1; j++)
for (i = 0; i < n - 1 - j; i++)
{
if(a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
} } }
int main()
{
int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};
int i;
bubble_sort(number, SIZE);
for (i = 0; i < SIZE; i++)
{
printf("%d ", number[i]);
}
}
2、選擇排序
#include<stdio.h>
void main()//主函數
{
int a[10];
int i,j,w;
printf("請輸入10個數字: ");
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])//進行比較
//比較後進行交換
{
w=a[i];
a[i]=a[j];
a[j]=w;
}
㈤ 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;
}
運行結果:
(5)c語言比較三個數大小升序輸出擴展閱讀:
return 0代表程序正常退出。return是C++預定義的語句,它提供了終止函數執行的一種方式。當return語句提供了一個值時,這個值就成為函數的返回值。
return語句用來結束循環,或返回一個函數的值。
1、return 0,說明程序正常退出,返回到主程序繼續往下執行。
2、return 1,說明程序異常退出,返回主調函數來處理,繼續往下執行。return 0或return 1對程序執行的順序沒有影響,只是大家習慣於使用return(0)退出子程序而已。
㈥ 用C語言比較三個數的大小,並按照從大到小排序
#include <stdio.h>
#include <math.h>
int main(void)
{
int a,b,c;
printf("請輸入任意三個整數a,b,c:");
scanf("%d%d%d",&a,&b,&c);
int s;
if(a>b)s=a,a=b,b=s;//比較a,b大小,通過賦值,使得a<b 。此語句目的:a<b
if(a>c)s=a,a=c,c=s;//進一步比較a,c大小,通過賦值得出最小值,並賦給a; 此語句目的:a<c
if(b>c)s=b,b=c,c=s;//最後比較出b,c中的較大值。
printf("從大到小的順序依次是:%d%d%d",c,b,a);
return 0;
}
㈦ C語言中從鍵盤上輸入三個數,將之排序後按由大到小的順序輸出
不錯的呦
看了你的我又編了個五個冒泡排序的測試通過啦哈哈
#include"stdio.h"
main()
{
float
a,b,c,d,e,t;
printf("\n\n\n
Please
input---a,b,c,d,e\n\n\n");
scanf("%f,%f,%f,%f,%f",&a,&b,&c,&d,&e);
if(a<b)
{t=a,a=b,b=t;}
if(b<c)
{t=b,b=c,c=t;}
if(c<d)
{t=c,c=d,d=t;}
if(d<e)
{t=d,d=e,e=t;}
if(a<b)
{t=a,a=b,b=t;}
if(b<c)
{t=b,b=c,c=t;}
if(c<d)
{t=c,c=d,d=t;}
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("\n
%f>%f>%f>%f>%f\n",a,b,c,d,e);
printf("\n
Made
by
emls
^_^");
getch();
}