1樓:匿名使用者
if是可以沒有else的,這樣的情況下如果if的條件符合,則執行if語句,否則不執行,直接到下一個if。也就是說,如果a不大於b,也就是a小於b,那麼就像剛剛說的,不執行這個if就是了,計算機會往下閱讀程式,也就是去判斷下一個if,記住一句話「if條件不符合就不執行」。else只是相當於if不符合的話其他情況下執行什麼,如果沒有else,那就表示,if不符合,程式保持不動。
這個程式給你舉個例項講解也許你就明白了
假設輸入為1,3,4,2
1不大於3,第一個if不執行,目前順序為1,3,4,21不大於4,第二個if不執行,目前順序為1,3,4,21不大於2,第三個if不執行,目前順序為1,3,4,23不大於4,第四個if不執行,目前順序為1,3,4,23大於2,第五個if執行,實現交換,目前順序為1,2,4,34大於3,第六個if執行,實現交換,最後順序為1,2,3,4其實你仔細想想,如果第一個if執行,實現交換,那麼第二個if中的a已經是交換過後的那個較小的數。第三個同理。也就是說,前3個if執行完以後確保了第1個數是4個數字中最小的,第四第五確保第二個數在剩下的3個數中是最小的(也就是4個數字中第二小的),第6個if確保第三個數小於第四個數。
這樣子就實現了整個結構的排序。希望能幫到你。
2樓:疏嘉
依次比較,先比較兩個,小的放前面。
兩個比較,為了防止比較丟失t作為中間變數。
例如兩盤蘋果,a盤十個,b盤五個,b中的少就要放前面的a裡,怎麼放呢?再找個盤子t。a放t裡,b放a裡,t放b裡。
按照排列組合,四個數有六組。
3樓:
就是通過兩兩比較,經過前3個if可以使得a值最小,這時表明a已經排好,接著是4、5個if使得b是次小,最後一個if比較最大值和次大值。就這樣。如果希望方便可以用到陣列。
排序的方法有很多種,這個涉及到時間和空間的一些問題,樓主有興趣可以檢視有關的資料結構或演算法的書
4樓:異vs形
陣列儲存,直接用冒泡法排序 超級簡單
用計算機c語言程式設計 輸入4個整數,要求按由小到大的順序輸出
5樓:遠望的小白鯊
#include
void main ()
for (i=1;i<4;i++)//氣泡排序for (j=0;j<4-i;j++)
if (a[j]>a[j+1])
printf ("排好序的資料為:\n");
for (i=0;i<4;i++)
printf ("%d ",a[i]);
printf ("\n");}
6樓:匿名使用者
# include
void sort(int array,int n)}t=array[k];array[k]=array[i];array[i]=t;}}
int main()
c語言寫出 ,輸入4個整數,要求按由大到小的順序輸出?
7樓:
你可以利用 c 標準庫 stdlib.h 裡的 qsort( ) 完成任何型別的陣列的快速排序:
#include
#include
int compare( const int *a, const int *b )
int main( )
呼叫 qsort( ) 只需要傳入四個引數:
1)陣列指標:指向要排序的陣列
2)陣列的元素個數
3)陣列的元素位元組長度
4)函式指標:指向我們定義的一個比較兩個元素大小的函式
若是要 qsort( ) 做由小到大的排序,我們定義的函式的返回值和相應的條件必須是:
返回值 條件
*****= *****
< 0 *a < *b
0 *a == *b
> 0 *a > *b
要達到以上的要求其實就只需寫 「*a - *b」 。
而若是要 qsort( ) 做由大到小的排序,把 *a 和 *b 的位置換一換就行了。
8樓:長鯨高淑穆
4個整數的排序,有使用單個變數和使用陣列二種方法實現。
使用單個變數的方法:
#include
intmain()
if(a>c)
if(a>d)
if(b>c)
if(b>d)
if(c>d)
printf("%d
%d%d
%d\n",a,b,c,d);
return0;}
使用陣列和迴圈的方法:
#include
intmain()
for(i=0;i<4;i++)
//輸出4個資料
printf("%d
",a[i]);
printf("\n");
return0;}
9樓:仝秀花來緞
用冒跑法寫:
main()
for(i=1;i<=4;i++)
printf("%d",a[i]);
/*輸出從小到大的四個數*/}
10樓:龍車花卉
#include "stdafx.h"
void mysort(int* pdata,int count)
c語言程式設計題:輸入4個整數,要求按由小到大順序輸出怎麼編啊?
11樓:小心_不在犯錯
#include
int main()
if (a > c)
if (a > d)
if (b > c)
if (b > d)
if (c > d)
printf("由小
dao到大輸專
出屬:%d %d %d %d\n",a,b,c,d);
return 0;}
12樓:黑白say晚安
一、氣泡排序,**和執行結果如圖所示。
重複地走訪過要排序的元
素列,依次專
比較兩個相鄰的元素,如果屬他們的順序(如從大到小、首字母從a到z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。
二、選擇排序,**和執行結果如圖所示。
思想:選擇排序,讓陣列中的每一個數,依次與後面的數進行比較,如果前面的數大於後面的數,就進行位置的交換。換個說法,選擇排序:
第一個數依次與後面的數比較,第一次比較完之後最小的數在最前面 。
13樓:加百列
利用函式的模組copy化設計。
1、完成整體bai函式格局,輸入、du排序、輸zhi出。
2、輸入函式**如下
dao:
3、排序函式**如下:
4、輸出函式**如下:
5、執行結果:
14樓:圖圖的大耳朵鴨
使用氣泡排序法進行程式設計:
解釋:1.第一個for迴圈:利用陣列迴圈輸入4個變數。
2.第二個回for迴圈:該迴圈的意思是答如果a[0]>a[1]的話,兩個變數的值交換,利用迴圈依次比較。
要注意的是i<3,因為其中有i+1,i最大取到2,也就是i+1最大取到3才正確。
3.第三個for迴圈:利用迴圈依次輸出排序後的陣列,每輸出一個加一個空格以便於區分。
15樓:
最愚蠢的方法:
# include
main()
; if(a>d) ;
if(b>d) ;
if(c>d) ;
printf("%5.2f,%5.2f,%5.2f,%5.2f",a,b,c,d);
}冒泡法:
# include
main()
}for(i=0;i<4;i++) /* 分別輸出排完後的4個數 */
printf("%d ",a[i]);}
16樓:員施濯馨逸
將四個數存到bai數du組中,然後排序即zhi可。
排序dao後,再利用循版
環輸出。
**權:
#include
int main()
}for(i = 0; i < 4; i ++)printf("%d,",a[i]);}
17樓:戰殤弒魂
#include
#include
void main()
printf("the sorted numbers:\n");//列印出分類後的結果
for(i=1;i<=45;i++)
printf("%d ",a[i]);
system("pause");//螢幕停留在當前結果,以免螢幕一閃而過,無法看到執行結果}
18樓:浪_鷹
#include
main()
printf("您輸入的四個整數由小到大輸入為:\n")for(i=0;i<4;i++) //迴圈輸出printf("%d ",a[i]);
getchar(); //停止螢幕
getchar();
}你可以上機執行一下,結果是對的,有什麼地方不明白的再聯絡我,只要我會的一定告訴你的!!!
19樓:匿名使用者
maim()
for(i=1;i<5;i++)
for(j=i+1;j<5,j++)
printf("排序後\n");
for(i=1;i<5;i++)}
寫函式實現對輸入字元按由小到大順序排列 在主函式中呼叫該函式並輸出排序後的結果
include define n 10 void fun char s,int n void main int i str 256 gets str fun str,n for i 0 i 聽不清啊 include void sort char c,int n int i,j char t for ...
c語言輸入整數按要求從小到大的順序輸出
親,哪有你這樣比較的。首先是輸入4個整數,您直接定義成float浮點型,這就不對。最好是把這些數裝入一個陣列內,再排序。int main for count 0 count 4 count return 邏輯有漏洞。a b a c a d成立時都有交換這沒錯,但某一項不滿足呢?比如a c不滿足,那就...
c 語言程式設計 輸入整數,要求按照由小到大的順序輸出
潮範君 include 標頭檔案 using namespace std void swap int p1,int p2 用於交換2個變數的功能函式 int main int n1,n2,n3 int p1,p2,p3 cout 請依次輸入3個整數 cin n1 n2 n3 p1 n1 p2 n2 ...