Ⅰ c語言如何輸入十個數,按從大到小順序排列!
用選擇排序法編寫c語言,實現從鍵盤上輸入10個數,按從大到小的順序排序輸出。代碼如下:
#include<stdio.h>
int main()
{
int i,j,a[10],t;
printf("輸入數");
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]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
printf("從大到小");
for (i = 0; i < 10; i++)
printf("%2d", a[i]);
return 0;
}
(1)選擇法對十個整數排序c語言擴展閱讀:
代碼還可以設計,如下:
#include<stdio.h>
int main()
{
int a[10],i,j,t;//定義數組;
for(i=0;i<10;i++){
scanf("%d",&a[i]);//給數組賦值;
}
for(i=0;i<9;i++)//10個數,進行9輪比較;
for(j=0;j<10-i;j++){//第一個數比較9次,依次遞減;
if(a[j]>a[j+1]) {//交換值;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<10;i++){
printf("%d ",a[i]);//輸出數組的值;
}
return 0;
}
}
printf("the sorted numbers: ");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf(" ");
}
Ⅱ C語言程序 用選擇法對十個數排序
#include <stdio.h>
int main()
{int i,j,min,temp,a[11];
printf("enter data: ");
for (i=1;i<=10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf(" ");
printf("The orginal numbers: ");
for (i=1;i<=10;i++)
printf("%5d",a[i]);
printf(" ");
for (i=1;i<=9;i++)
{min=i;
for (j=i+1;j<=10;j++)
if (a[min]>a[j]) min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
printf(" The sorted numbers: ");
for (i=1;i<=10;i++)
printf("%5d",a[i]);
printf(" ");
return 0;
}
空白字元
空白字元會使scanf()函數在讀操作中略去輸入中的一個或多個空白字元,空白符可以是space,tab,newline等等,直到第一個非空白符出現為止。
非空白字元
一個非空白字元會使scanf()函數在讀入時剔除掉與這個非空白字元相同的字元。
Ⅲ 用選擇法對十個整數排序,用c語言,要完整的完整的程序
#include "Stdio.h"
void sa(int array[],int n)
{
int i,j,k,temp;
for(i=0;i<10;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
temp=array[k];
array[k]=array[i];
array[i]=temp;
}
}
int main()
{
void sa(int array[],int n);
int array[10],i;
printf("enter the array: ");
for(i=0;i<10;i++)
scanf("%d",&array[i]);
sa(array,10);
printf("the sorted array: ");
for(i=0;i<10;i++)
printf("%d ",array[i]);
printf(" ");
return 0;
}
Ⅳ C語言用選擇法對10個整數按從大到小排序怎麼做
#include<stdio.h>//標准輸入輸出函數調用需要此頭文件、就是那個printf和scanf函數要用的
void main()//主函數
{int i,j,min,temp,a[10];
printf("請輸入:\n"); //屏幕輸出引號內的字元然後換行
for(i=1;i<=10;i++) //從鍵盤上循環輸入10個數據
{printf("a[%d]=",i);
scanf("%d",&a[i]);} //讀取數據函數
printf("\n"); //換行
for(i=1;i<=9;i++) //比較10個數據
{min=i; //每次比較的最小數據賦給min
for(j=i+1;j<=10;j++) //比較循環控制
if (a[min]>a[j]) min=j; //大小數值判斷
temp=a[i];
a[i]=a[min]; //a[i]里存放的最小數值
a[min]=temp;}
printf("\n從大到小排列是:\n"); //輸出字元
for(i=10;i>=1;i--) //循環輸出按大小排列的數據
printf("%5d",a[i]);
printf("\n");//每輸出一個數據換行
}
Ⅳ C語言 怎麼樣用選擇法對10個整數排序
選擇法排序是一種簡單的容易實現的對數據排序的演算法。
以整形數組元素為例,有數組A[10],即A[0],A[1],…,A[8],A[9](假設其元素均互不相同)。要求對其元素排序使之遞增有序。
首先以一個元素為基準,從一個方向開始掃描,比如從左至右掃描,以A[0]為基準。
接下來從A[0],…,A[9]中找出最小的元素,將其與A[0]交換。
然後將基準位置右移一位,重復上面的動作,比如,以A[1]為基準,找出A[1]~A[9]中最小的,將其與A[1]交換。
一直進行到基準位置移到數組最後一個元素時排序結束(此時基準左邊所有元素均遞增有序,而基準為最後一個元素,故完成排序)。
main()
{ int array[10];
//給數組初始化!
int i,j,k,temp;
for(i=0;i<10-1;i++) {
k=i;
for(j=i+1;j<10;j++)
if (array[j]<array[k]) k=j ;
temp=array[k];array[k]=array;array=temp;
}
}
Ⅵ C語言怎麼用選擇法對10個整數排序
代碼文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int a[10]={7,9,1,5,3,4,2,8,0,6},b[10]={2,8,0,6,5,3,4,7,9,1},i,j,k;
for(i=0;i<10;i++){//選擇法對a由小到大排序
for(k=i,j=k+1;j<10;j++)
if(a[k]>a[j])
k=j;
if(k!=i)
j=a[k],a[k]=a[i],a[i]=j;
printf("%2d",a[i]);//輸出a
}
putchar(' ');
for(i=0;i<10;i++)//冒泡法對b由大到小排序
for(j=0;j<9;j++)
if(b[j]<b[j+1])
k=b[j],b[j]=b[j+1],b[j+1]=k;
for(i=0;i<10;printf("%2d",b[i++]));
putchar(' ');
return 0;
}
可以比較它們的異同……
Ⅶ C語言編程題:用選擇法對10個整數排序
#include<stdio.h>
int main()
{
int i,j,min,t,a[10]={2,4,8,3,6,9,7,222,64,88};
printf("排序前的序列為: ");
for(i=0;i<10;i++)//輸出排序前的序列
{
printf("%5d",a<i>);
}
printf(" ");
for(i=0;i<9;i++)
{
min=i;//把每次循環的第一個數作為最小值
for(j=i+1;j<10;j++)
{
if(a[min]>a[j])
min=j;//交換
}
if(min!=i)//說明第一個數不是最小數,所以將a[i+1]~a[10]中最小值與a<i>對換
{
t=a[min];
a[min]=a<i>;
a<i>=t;
}
}
printf("排序後的序列為: ");
for(i=0;i<10;i++)//輸出排序後的序列
printf("%5d",a<i>);
printf(" ");
return 0;
}
(7)選擇法對十個整數排序c語言擴展閱讀:
return表示把程序流程從被調函數轉向主調函數並把表達式的值帶回主調函數,實現函數值的返回,返回時可附帶一個返回值,由return後面的參數指定。
return通常是必要的,因為函數調用的時候計算結果通常是通過返回值帶出的。如果函數執行不需要返回計算結果,也經常需要返回一個狀態碼來表示函數執行的順利與否(-1和0就是最常用的狀態碼),主調函數可以通過返回值判斷被調函數的執行情況。
Ⅷ 用選擇法怎麼對10個整數排序
用選擇法對10個整數排序,用scanf輸入。如下:
# include<stdio.h>
int main()
{
int i,j,min,temp,a[10];
printf("enter data: ");
for (i=0;i<10;i++)
{
printf("please enter ten numbers: ");
scanf("%d",&a[i]);//輸入10個數
}
printf(" ");
printf("The orginal numbers: ");
for (i=0;i<10;i++) //在c語言中,數組的下標從0開始
printf("%5d",a[i]);//輸出這10個數
printf(" ");//以下8行是對這10個數排序
for (i=0;i<10;i++)
{min=i;
for(j=i+1;j<10;j++)
if (a[min]>a[j]) min=j;
temp=a[i];//以下3行將a[i+1]~a[10]中最小值與a[i]對換
a[i]=a[min];
a[min]=temp;
}
printf(" The sorted numbers: ");//輸出已排好序的10個數
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf(" ");
return 0;
}
選擇排序原理:
用maxPos標記區間中首元素位置,然後用後序元素依次與maxPos標記的元素進行比較,如果有元素大於maxPos位置的元素,用maxPos標記該元素的位置,直到區間的末尾。
該趟選擇完成後,即找到該區間中最大元素,如果maxPos標記的最大元素不在區間末尾,用maxPos位置元素與區間末尾的元素進行交換。繼續新一趟選擇,直到區間中剩餘一個元素。