回覆列表
-
1 # 使用者3370553923528
相關內容
- c#三個數字排序問題?
- 用C語言程式設計,使計算機自動產生100-999之間100個隨機數,用至少兩種演算法完成排序?
- 用C語言編寫,輸入n個數和一個整數k,輸出n個數中第k個最大最小值。要求有輸入錯誤判斷及相應錯誤資訊?
- C語言:編寫程式,計算出1000到5000之間能被3和7整除但不能被11整除的所有整數的個數?
- 求大神⊙▽⊙ C語言程式,從鍵盤任意輸入10個整數,統計並輸出其中非負數的個數,以及計算並輸出非?
- c語言:5個字串的排序?
- C語言中輸入三個數,如何輸出絕對值最大的數?
- c語言程式,求所輸入n個數中的最大值?
- C語言:輸入n個數,求其最大數、最小數和平均值?
- C語言,輸入一組數進行排序,由大到小?
對於少數的數字的排列,可以透過簡單的if巢狀語句便可將所有情況列舉出來;
但是一旦要比較的數字較多,這種方法便缺少了可執行性;
因此,我們可以採用陣列的思想來進行程式設計;
此處以:將10個數按從小到大排列輸出 舉例:
#include"stdio.h"
#define N 10
int main ()
{
int a[N];
int i,j,t;
printf("Please input %d numbers:\n",N);
for(i<0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=N-1;i++)
{
for(j=0;j<N-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
}
printf("The resortrd numbers is :\n");
for(i=0;i<N;i++)
{
printf("%-4d",a[i]);
}
}
附:
程式開頭採用了定義一個宏常量的方法,可以透過改變該常量來對程式進行整體的改變;增加了程式的靈活性,方便對源程式進行修改;
如果要按從大到小的排列方式進行排列,僅僅需要更改程式中的一處,此處便不再詳細說明,自己探討^_^