#include stdio.h
10年積累的成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有撫州免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
#include stdlib.h
#include time.h
#define MAXlen 100
void select_sort(int *x, int n) { //選擇排序
int i, j, min;
int t;
for (i = 0; i n - 1; i++) { // 要選擇的次數(shù):0~n-2共n-1次
min = i; // 假設(shè)當(dāng)前下標(biāo)為i的數(shù)最小,比較后再調(diào)整
for (j = i + 1; j n; j++) { //循環(huán)找出最小的數(shù)的下標(biāo)是哪個(gè)
if (*(x + j) *(x + min)) {
min = j; // 如果后面的數(shù)比前面的小,則記下它的下標(biāo)
}
}
if (min != i) { // 如果min在循環(huán)中改變了,就需要交換數(shù)據(jù)
t = *(x + i);
*(x + i) = *(x + min);
*(x + min) = t;
}
}
}
int main() {
int i;
int iArr[MAXlen];
srand((unsigned int)time(NULL));
printf("\n排序前:\n");
for(i = 0 ; i MAXlen ; i++) {
iArr[i] = (unsigned int)rand() % 1000;
if(i % 10 == 0) printf("%\n");
printf("%5d",iArr[i]);
}
printf("\n");
select_sort(iArr,MAXlen);
printf("\n排序后:\n");
for(i = 0 ; i MAXlen ; i++) {
if(i % 10 == 0) printf("%\n");
printf("%5d",iArr[i]);
}
printf("\n\n");
return 0;
}
void Swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void Selectsort(int *arr, int sz)
{for (int end=sz-1; end=0; end--)
{
int max = end;
int i;
for ( i = 0; i = end; i++)//選出最大下標(biāo)
{
if (arr[i] arr[max])
{
max = i;
}
}
Swap(arr, arr[max]);
}
}
int main()
{
int arr[5] = { 1, 3, 2, 5, 4 };
int sz = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i = sz - 1; i++)
{
scanf("%d", arr[i]);
}
Selectsort(arr, sz);
for (int i = 0; i = sz - 1; i++)
{
printf("%d ", arr[i]);
}
system("pause");
return 0;
}
擴(kuò)展資料:
printf函數(shù)使用注意事項(xiàng)
1、域?qū)?/p>
%d:按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。
如果想輸出指定寬度可以指定域?qū)挘?md--gt;m域?qū)?打印出來(lái)以后,在控制臺(tái)上,顯示m位;
如果要打印的數(shù)的位數(shù)如果超過(guò)我們?cè)O(shè)定m則原樣輸出;
如果要打印的數(shù)的位數(shù)如果小于設(shè)定的位數(shù),則補(bǔ)空白,具體如下:
如果m為正數(shù),則左對(duì)齊(左側(cè)補(bǔ)空白);
如果m為負(fù)數(shù),則右對(duì)齊(右側(cè)補(bǔ)空白)。
2、轉(zhuǎn)義字符
如果想輸出字符"%",則應(yīng)該在“格式控制”字符串中用連續(xù)兩個(gè)%表示。
如:printf("%f%%",1.0/3);輸出結(jié)果:0.333333%。
#includestdio.h
#includestdlib.h
#define shengxu 0
void RandonArray(int a[],int n)
{
int i;
srand(time(NULL));
for(i=0;in;i++)
{
a[i]=rand();
}
}
void SortArray(int a[],int n)
{
int i,j,t;
for(i=0;in-1;i++)
{
for(j=0;jn-i-1;j++)
{
if(shengxu)
{
if(a[j]a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
else
{
if(a[j]a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
}
}
void OutputArray(int a[],int n)
{
int i;
for(i=0;in;i++)
{
printf("%d,",a[i]);
}
}
int main()
{
int i,n,*a;
char msg[]={-56,-25,-71,-5,-78,-55,-60,-55,-93,-84,-57,-21,-72,-8,-50,
-46,50,48,48,-78,-58,-72,-69,-93,-95,0};
printf("%s\n\n",msg);
printf("請(qǐng)輸入要隨機(jī)產(chǎn)生的數(shù)組的元素個(gè)數(shù):");
scanf("%d",n);
a=(int*)calloc(n,sizeof(int));
RandonArray(a,n);
printf("%s排序前數(shù)組各元素的值是:\n",shengxu ? "升序" : "降序");
OutputArray(a,n);
SortArray(a,n);
printf("\n%s排序后數(shù)組各元素的值是:\n",shengxu ? "升序" : "降序");
OutputArray(a,n);
free(a);
printf("\n");
system("PAUSE");
return EXIT_SUCCESS;
}
#include?stdio.h
#include?stdlib.h
#include?time.h
int?main(void)
{
int?a[10],i,j,tmp,b;
srand(time(NULL));
for(i=0;i10;i++)
a[i]=rand()%100;
for(i=0;i10;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i9;i++)
{
tmp=i;
for(j=i+1;j10;j++)
?{
if(a[tmp]a[j])
tmp=j;
?}
if(i!=tmp)
{
b=a[tmp];
a[tmp]=a[i];
a[i]=b;
}
}
for(i=0;i10;i++)
printf("%3d",a[i]);
printf("\n");
return?0;
}
隨機(jī)產(chǎn)生數(shù)組中的元素, 更合理一些。 百科中有各種版本。
分享文章:c語(yǔ)言編寫函數(shù)數(shù)組排序 c語(yǔ)言編程數(shù)組排序
標(biāo)題網(wǎng)址:http://jinyejixie.com/article42/hehiec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、定制開發(fā)、靜態(tài)網(wǎng)站、網(wǎng)站收錄、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)