輸入四個數,從小到大輸出。

2025-01-28 14:35:10 字數 2471 閱讀 5959

1樓:網友

說實在的,程式寫的確實比較差。

改這個程式比較麻煩,我猜測的你的原意。

#include

void main()

int a[4],b[4];

int i,j,n,sum;

for(n=0;n<=3;n++)scanf("%d",&a[n]);

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

sum=(a[i]>a[0])+a[i]>a[1])+a[i]>a[2])+a[i]>a[3]);

if(sum==3)b[3]=a[i];

else if(sum==2)b[2]=a[i];

else if(sum==1)b[1]=a[i];

else b[0]=a[i];

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

printf("%d",b[j]);

不過問題比較多:

1、第二個for丟失了大括號(建議無論是否需要都先打上,以防忘記)if(sum=3)a[3]=a[i];

else if(sum=2)a[2]=a[i];

else if(sum=1)a[1]=a[i];

else a[0]=a[i];

這個sum=3等應當寫成sum==3

而且就這個,直接a[sum]=a[i]不是一樣嗎?

3、你要是修改了a[i]的值後面就錯了,所以我給你添了b[4]4、你沒有考慮可以存在兩個數或者多個數相同的情況。

5、你這個選擇排序只是有個思路,距離編成程式還遠。

2樓:小八

為lz提供一種氣泡排序的演算法。

#include

int main()

int a[4];

int i,j,temp;

printf("請輸入4個數:");

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

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

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

for(j=0;j<4-i-1;j++)

if(a[j]>a[j+1])

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

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

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

printf("");

輸入四個整數,按從小到大的順序輸出

3樓:墨汁電子

解題思路:此題採用依次比較的方法排出其大小順序。

任一客戶端可以方便地得到伺服器上的檔案的任意版本(如果有許可權的話)。一般還實現了乙個重要的功能是版本比較,任一客戶端可以利用版本控制工具對某檔案的不同版本進行版本比較,它會標記出不同版本的同名檔案的不同點,可以輕易地看出版本內容的演化,這一招很常用。

作用:

生成目標**,即計算機可以識別的**。對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程式設計師都忽視軟體說明的編寫,因為這部分雖然不會在生成的程式中直接顯示,也不參與編譯。

但是說明對軟體的學習、分享、維護和軟體複用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程式的良好習慣,一些公司也硬性規定必須書寫。需要指出的是,源**的修改不能改變已經生成的目標**。

如果需要目標**做出相應的修改,必須重新編譯。

c語言 將4個數從小到大輸出

4樓:單墨徹衣茶

額。如果a>b那麼。

a、b換位。

也就是。大的變成小的。

但是如果說a<=b

那麼。小的還是小的。

大的還是大的。

同理。下面的都是這意思。

結果就是。小的一定會被變成最前面的。

大的一定會到最後面。

其原理就是:

如果a比bc都要小那麼a還是a

如果a比bc

中任何乙個大(就比如是c)那麼。ac

會換位。又因為三個資料。

所以只有以下大小順序可能。

a>b>c

a>c>b

c>a>b

c>b>a

b>a>c

b>c>a

我們可以知道。

不論如何最小的都會。

因為比別的小而負值給a

因為這隻有三個數比較。

所以這種方法可行。

但是如果資料多些就不行了。

5樓:第五松蘭翁錦

我寫乙個,看看能不能達到你的要求——

#include

//vc++加上這一行。

#include

intmin(int

x,inty)

voidmain(void){

inta,b,c,d,i,tmp,max;

printf("enter

integers...n");

輸入整數,將它們按從小到大排序後輸出。要求使用冒泡法

include using namespace std void main for i 1 i 10 i cout c語言高手幫忙 從鍵盤輸入10個整數。用選擇法或冒泡法將它們從小到大的順序排序,並以此順序輸出。include main printf the result is n for j 0 ...

C問題 輸入數輸出較大數,C問題 輸入三個數輸出較大數

問題出在主程式中第二個if前沒有else 把第二個if改成else if就可以了。原因 第乙個if比較時123 23 123 34成立,所以s 123 然而,第二個if肯定是不成立的,所以就執行了else後面的語句s y,使最大值s 23了。第二個if改為else if後執行就是唯一的了,三個判斷永...

用C 編寫 輸入兩個從小到大順序排列好的字串,合併兩個字

include include using namespace std const int maxlen 200 char substr char a,int start,int len ans i 0 return ans void insert char a,char b,int start v...