『壹』 從鍵盤輸入10個整數,編寫程序用選擇排序法對這十個數降序排列,要求主函數功能
include<stdio.h>
int main()
{int i,j,k,t,a[10];
for(i=0;i<森頌祥10;i++) //輸入10個整數
櫻敏 scanf("%d",&a[i]);
for(i=0;i<9;i++) //排序10個數,需要9輪
{k=i; //當前最小值的編號
for(j=i+1;j<10;j++) //掃描後續所有元素
if(a[j]<a[k])k=j; //如後面的元素更小,就更新最小編號
t=a[i]; a[i]=a[k]; a[k]=t; //把最小的元素交換到第 i 位
}
for(i=0;i<10;i++) //輸出排好序的元素此搏值
printf("%d ",a[i]);
return 0;
}
『貳』 C語言編程題: 將數組a中的10個整數降序排列並輸出.
#include<stdio.h>
intmain()
{
inta[10]={1,3,5,7,9,8,4,6,0,2};
inti,j,k;
for(i=0;i<9;i++)
{
for(j=i;j<10;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<圓搭散枝野10;i++)printf("%d橘氏",a[i]);
}
『叄』 編寫一個函數,對10個整數按降序排序。在主函數輸入10個數,調用該函數,輸出排序後的結果。.
代碼如下:
一、頭文件:
#include<stdio.h>
#defineN10
二、輸入函數,獲取輸入值:
voidsort(inta[],intn){inti,j;inttemp=0;for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(a[j]<a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}
}
三、選擇排序函數:
voidselect_sort(int*a,intn){inti,j;inttemp,max;for(i=0;i<n-1;i++){max=i;for(j=i+1;j<n;j++)拆敏扒if(a[max]<a[j])拿陵max=j;if(max!=i){temp=a[max];a[max]=a[i];a[i]=temp;}}}
三、主函數,執行。
intmain(void){inta[N],i;for(i=0;i<N;i++){scanf("%d",&a[i]);}//sort(a,N);select_sort(a,N);for(i=0;i<N;i++){printf("%d,",a[i]);}putchar(10);旅昌return0;}
(3)編程將10個數按降序輸出擴展閱讀:
C語言排序的3種方法:
1、冒泡法:
思想:每次相鄰兩個數比較,若升序,則將大的數放到後面,一次循環過後,就會將最大的數放在最後。
2、選擇排序:
從第一個數開始,每次和後面剩餘的數進行比較,若升序,則如果後邊的數比當前數字小,進行交換,和後面的所有的數比較、交換後,就會將當前的最小值放在當前的位置。
3、插入排序:
用撲克的方法解釋,首先抽到第一張牌,將它放在第一位,排序是從第二次抽牌開始,第二次抽起一張牌3,它比9小,所以將9向後移一。位然後把3放在9原來的位置。再次抽牌2,發現它應該再3的前面,所以將3和9向後移,把2放到3原來的位置... ... 以此類推的思維。
『肆』 用C語言編寫,輸入10個數按降序排列
源程序代碼如下:
#define_CRT_SECURE_NO_WARNINGS//VS環境下需要,VC不需要
#include<stdio.h>//頭文件;
intmain()
{
inti=0;
intj=0;
doubletemp=0;
doublea[10]={0};//定義三個變數和一個長度為10的數組;
printf("請輸入十個數:
");//顯示含塵「請輸入十個數」
for(i=0;i<10;i++)
{
scanf("%lf",&a[i]);//從鍵盤上輸入十個數送到數組;
}
for(i=1;i<10;i++)//for循環,進行9次循環;
{
for(j=i-1;j>=0;j--)//for循環,在每次扮李大的循環中,a[i]從a[1]依次與它前面的數比較;
{
if(a[j+1]>a[j])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;//如果a[j+1]>a[j],則把這兩個數組元素互換,目的把最大的數放到前邊;
}
else
{
break;
}
}
}
for(i=0;i<10;i++)
{
printf("%lf
",a[i]);//輸出排好順談缺禪序的十個數;
}
return0;//返回值為0;
}
程序運行結果如下:
(4)編程將10個數按降序輸出擴展閱讀:
其他實現方法如下:
#include<stdio.h>
intmysort(int*a,intn)
{
inti,j,temp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
return0;
}
intmain()
{
inta[10];
inti,j;
printf("input10numbers:
");
for(i=0;i<10;i++)
{
printf("thenumber%dis:",i+1);
scanf("%d",a+i);
fflush(stdin);
}
mysort(a,10);
for(i=9;i>=0;i--)
printf("%3d",a[i]);
printf("
");
return0;
}
『伍』 C語言將數組a中的10個整數降序排列並輸出,如何編程
這個是自己凱世擾輸入10個整數,不想自己輸的話就先給數組a賦初值,然後把下面程序盯旦里的輸入語句去掉即可返耐x0dx0a#include 『陸』 c語言輸入10個整數,按降序排序輸出
#include<stdio.h>
intmysort(int*a,intn)
{
inti,j,temp;
for(i=0;i<n-1;i++)
嘩絕旅{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
宏擾temp=a[j+1];
亂凳a[j+1]=a[j];
a[j]=temp;
}
}
}
return0;
}
intmain()
{
inta[10];
inti,j;
printf("input10numbers:
");
for(i=0;i<10;i++)
{
printf("thenumber%dis:",i+1);
scanf("%d",a+i);
fflush(stdin);
}
mysort(a,10);
for(i=9;i>=0;i--)
printf("%3d",a[i]);
printf("
");
return0;
}
『柒』 編一個程序,輸入10個整數,並放在數組中,先降序輸出所有的數,再統計並輸出其中正數、負數和零的個數
#include
using
namespace
std;
int
main()
{
int
arr[10],
zheng
=
0,
fu
=
0,
zero
=
0;
//在輸入的時候統計正負神敗數和零的個數
for
(int
i
=
0;
i
<
10;
i++)
{
cout
<<
"請輸入第"
<<
i
<<
"個數:"啟瞎塌;
cin
>>
arr[i];
if
(arr[i]
==
0)
zero++;
else
if
(arr[i]
<
0)
fu++;
else
zheng++;
}
cout
<<
"所輸入的數是:";
for
(int
i
=
0;
i
<
10;
i++)
{
cout
<<
arr[i]<<"
";
}
cout
<<
endl;
cout
<<
"正數有:"
<<
zheng
<<
"個"
<<
'\t';
cout
<<
"負數有:"
<<
fu
<<
"個"悄圓
<<
'\t';
cout
<<
"零有:"
<<
zero
<<
"個"
<<
'\t';
return
0;
}
希望能幫上忙。
『捌』 c++編程,輸入10個學生成績,把及格成績按降序輸出,為什麼出現多餘的數1703796
排序的時候,內層r循環應該知道倒螞銀譽數第二個,引用循環體里需要使用a[r+1],因此,程序裡面的悶段下搏畝面語句:
for (r=0;r<10;r++)
需要修改為:
for (r=0;r<10-1;r++)
『玖』 用計算機C語言編程,程序設計題:從鍵盤輸入十個數,將他們進行降序排列。 求解答需要詳細過程,謝謝!
#include<stdio.h>
intmain()
{inti,j,t,a[10];
for(i=0;i<10;i++)//輸入10個整數
scanf("%d",&a[i]);
for(i=0;i<9;i++)//降序冒泡排序
搜此for(j=0;j<9-i;j++)
世鬧迅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]);
printf("
");
return0;
}
『拾』 如何在Java中從鍵盤輸入10個數,用選擇法按降序排序並輸出
在Java中在數組中保存10個乎大數,調用下面的排序皮孝函數,用選擇法燃頃稿按降序排序:public static void selectionSort(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { int max = i; for (int j = i + 1; j < arr.length; j++) { if (arr[max] < arr[j]) { max = j; } } if (max != i) { int tmp = arr[max]; arr[max] = arr[i]; arr[i] = tmp; } } }