本文目錄一覽:
- 1、編寫一個程序,完成對5個數從大到小的排序,例如輸入:1,2,3,4,5,輸出的結果為:5,4,3,2,1
- 2、C語言編程求出下面5*5矩陣的所有排列,用數字1-5填滿矩陣,每一行每一列不重複,最好能打印出來,急急急
- 3、C語言–怎樣實現輸入任意幾個數排序
- 4、1-10從小到大排序 C語言
編寫一個程序,完成對5個數從大到小的排序,例如輸入:1,2,3,4,5,輸出的結果為:5,4,3,2,1
#includestdio.h
void main()
{
int d[101],n,m,i,j;
printf(“input number:(end with 0)\n”);
n=1;
do
{
scanf(“%d”,d[n]);
n++;
}while(d[n-1]!=0);
for(i=n-2;i0;i–)
for(j=1;ji;j++)
{
if(d[j]d[j+1])
{
m=d[j];
d[j]=d[j+1];
d[j+1]=m;
}
}
for(i=1;in-1;i++)
printf(“%d “,d[i]);
}
輸入為0的時候結束輸入
C語言編程求出下面5*5矩陣的所有排列,用數字1-5填滿矩陣,每一行每一列不重複,最好能打印出來,急急急
#includestdio.h
main()
{
int i,j;
int a[5][5];
for(i=0;i5;i++){
for(j=0;j5;j++)
printf(“%d”,a[i][j]);
printf(“\n”);
}
}
C語言–怎樣實現輸入任意幾個數排序
把循環次數改成你想要的數就可以了。
比如上面你的程序,for語句中的i=9,這個9改成你想要的次數。另一種方法,這個次數也作為一個變量從鍵盤輸入,這樣適應性相對來說好一些,不用每次都編譯程序。
提醒,如果是大批量的輸入數據,用鍵盤逐個輸入數據是比較低效和低準確率的方法,通常採用數據文件(比如一個文本文件)的方式。
你能問出這個問題來,說明你對上面的代碼還沒有理解透徹,好好學習吧。
—————————————————-
對於lz的補充的回答:
我前面說的:另一種方法,這個次數也作為一個變量從鍵盤輸入,這樣適應性相對來說好一些,不用每次都編譯程序。
但是有一個問題,就是C不支持動態定義數組。解決方法兩種:一、定義一個足夠大的數組(但有越界的可能,程序里要做判斷和控制)。二、使用動態內存分配,可以從根本上解決此問題。
還有一種折中的辦法,就是對排序數定義一個宏,程序中的循環都使用這個宏來控制循環,如果排序數量更改了,雖然需要重新編譯程序,但是也很好修改,只要改這個宏的數值就可以了。
1-10從小到大排序 C語言
#includestdio.h
#define N 10
void main()
{
int i,j,min,tem,a[N];
printf(“請輸入十個數字:\n”);
for(i=0;iN;i++)
{
printf(“a[%d]=”,i);
scanf(“%d”,a[i]);}
printf(“\n輸入的十個數字如下:\n”);
for(i=0;iN;i++)
printf(“%5d”,a[i]);
printf(“\n”);
for(i=0;iN-1;i++)
{
min=i;
for(j=i+1;jN;j++)
if(a[min]a[j]) min=j;
tem=a[i];
a[i]=a[min];
a[min]=tem;
}
printf(“排序後:\n”);
for(i=0;iN;i++)
printf(“%5d”,a[i]);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/307031.html