#includelt;stdio.hgt;
為企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、成都營銷網(wǎng)站建設(shè)、競價托管、品牌運(yùn)營等營銷獲客服務(wù)。成都創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
int main()
{
int i,j,min,t,a[10]={2,4,8,3,6,9,7,222,64,88};
printf("排序前的序列為:\n");
for(i=0;ilt;10;i++)//輸出排序前的序列
{
printf("%5d",alt;igt;);
}
printf("\n");
for(i=0;ilt;9;i++)
{
min=i;//把每次循環(huán)的第一個數(shù)作為最小值
for(j=i+1;jlt;10;j++)
{
if(a[min]gt;a[j])
min=j;//交換
}
if(min!=i)//說明第一個數(shù)不是最小數(shù),所以將a[i+1]~a[10]中最小值與alt;igt;對換
{
t=a[min];
a[min]=alt;igt;;
alt;igt;=t;
}
}
printf("排序后的序列為:\n");
for(i=0;ilt;10;i++)//輸出排序后的序列
printf("%5d",alt;igt;);
printf("\n");
return 0;
}
擴(kuò)展資料:
return表示把程序流程從被調(diào)函數(shù)轉(zhuǎn)向主調(diào)函數(shù)并把表達(dá)式的值帶回主調(diào)函數(shù),實(shí)現(xiàn)函數(shù)值的返回,返回時可附帶一個返回值,由return后面的參數(shù)指定。
return通常是必要的,因?yàn)楹瘮?shù)調(diào)用的時候計(jì)算結(jié)果通常是通過返回值帶出的。如果函數(shù)執(zhí)行不需要返回計(jì)算結(jié)果,也經(jīng)常需要返回一個狀態(tài)碼來表示函數(shù)執(zhí)行的順利與否(-1和0就是最常用的狀態(tài)碼),主調(diào)函數(shù)可以通過返回值判斷被調(diào)函數(shù)的執(zhí)行情況。
#includelt;stdio.hgt;
int main()
{
int i,j,min,t,a[10]={2,4,8,3,6,9,7,222,64,88};
printf("排序前的序列為:\n");
for(i=0;ilt;10;i++)//輸出排序前的序列
{
printf("%5d",alt;igt;);
}
printf("\n");
for(i=0;ilt;9;i++)
{
min=i;//把每次循環(huán)的第一個數(shù)作為最小值
for(j=i+1;jlt;10;j++)
{
if(a[min]gt;a[j])
min=j;//交換
}
if(min!=i)//說明第一個數(shù)不是最小數(shù),所以將a[i+1]~a[10]中最小值與alt;igt;對換
{
t=a[min];
a[min]=alt;igt;;
alt;igt;=t;
}
}
printf("排序后的序列為:\n");
for(i=0;ilt;10;i++)//輸出排序后的序列
printf("%5d",alt;igt;);
printf("\n");
return 0;
}
擴(kuò)展資料:
include用法:
#include命令預(yù)處理命令的一種,預(yù)處理命令可以將別的源代碼內(nèi)容插入到所指定的位置;可以標(biāo)識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標(biāo)識符功能的宏,在編譯時,預(yù)處理器會用別的文本取代該宏。
插入頭文件的內(nèi)容
#include命令告訴預(yù)處理器將指定頭文件的內(nèi)容插入到預(yù)處理器命令的相應(yīng)位置。有兩種方式可以指定插入頭文件:
1、#includelt;文件名gt;
2、#include"文件名"
用數(shù)組來存放十個數(shù)字,使用“冒泡排序”來實(shí)現(xiàn)排序。10個數(shù)字需進(jìn)行9輪掃描,每次掃描時比較相鄰的二個數(shù),如它們不符合要求的大小關(guān)系,就交換它們的位置。第一輪掃描結(jié)束時,最大的數(shù)就“沉”到最后。于是第二的范圍就少了一個數(shù)。再進(jìn)行第二兩棲型、第三輪,…——直到第9輪就完成了。最后輸出結(jié)果。
#includestdio.h
int
main()
{
int
a[10],i,j,t;
printf("請輸入10個整數(shù):\n");
for(i=0;i10;i++)
scanf("%d",a[i]);
for(i=0;i9;i++)
for(j=0;j9-i;j++)
if(a[j]a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("排序以后的數(shù):\n");
for(i=0;i10;i++)
printf("%d
",a[i]);
printf("\n");
system("pause");
return
0;
}
如果要從大到小排,只要把上面的交換條件
if(a[j]a[j+1])換為
if(a[j]a[j+1])就可以了。
1、打開visual C++ 6.0,準(zhǔn)備一個空白的c語言文件,引入頭文件,在main函數(shù)中定義變量和數(shù)組:
2、接下來用scanf函數(shù)輸入的10個數(shù),將輸入的數(shù)存入到變量a中,接著進(jìn)行比較排序,如果后一個數(shù)比前一個數(shù)大則利用中間變量t實(shí)現(xiàn)倆值互換,最后輸出排序的結(jié)果:
3、編譯運(yùn)行程序,輸入任意的10個數(shù),回車后即可看到排序后的結(jié)果。以上就是c語言中選擇排序的用法:
用選擇排序法編寫c語言,實(shí)現(xiàn)從鍵盤上輸入10個數(shù),按從大到小的順序排序輸出。代碼如下:
#includestdio.h
int main()
{
int i,j,a[10],t;
printf("輸入數(shù)");
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;
}
擴(kuò)展資料:
代碼還可以設(shè)計(jì),如下:
#includestdio.h
int main()
{
int a[10],i,j,t;//定義數(shù)組;
for(i=0;i10;i++){
scanf("%d",a[i]);//給數(shù)組賦值;
}
for(i=0;i9;i++)//10個數(shù),進(jìn)行9輪比較;
for(j=0;j10-i;j++){//第一個數(shù)比較9次,依次遞減;
if(a[j]a[j+1]) {//交換值;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i10;i++){
printf("%d\n",a[i]);//輸出數(shù)組的值;
}
return 0;
}
}
printf("the sorted numbers:\n");
for(i=0;i10;i++)
printf(" %d",a[i]);
printf("\n");
}
參考資料:百度百科-printf
選擇排序:大循環(huán)i依次取元素和后面所有元素比較,找出其中最值,和當(dāng)前i的元素交換。一次大循環(huán)交換一次。
程序思路:
一、排序函數(shù):根據(jù)傳參,實(shí)現(xiàn)降序升序兩種功能。
二、數(shù)組輸出:根據(jù)傳參,實(shí)現(xiàn)正數(shù)和負(fù)數(shù)輸出兩種功能。
下面是代碼:
#include stdio.h
void px(int nums[],int len,int t);//排序
void showNums(int nums[],int len,int t);//輸出
int main()
{
int nums[10]={8,7,-1,2,-5,4,9,-3,-6,1};
printf("原數(shù)組:8,7,-1,2,-5,4,9,-3,-6,1\n");
printf("升序排列后:\n");
px(nums,10,1);
printf("|---正數(shù)為:");
showNums(nums,10,1);
printf("|---負(fù)數(shù)為:");
showNums(nums,10,0);
//--------------------------------
printf("降序排列后:\n");
px(nums,10,0);
printf("|---正數(shù)為:");
showNums(nums,10,1);
printf("|---負(fù)數(shù)為:");
showNums(nums,10,0);
}
void showNums(int nums[],int len,int t)//t=1輸出正數(shù),t=0輸出負(fù)數(shù)
{
int i;
for(i=0;ilen;i++)
? if((t nums[i]0)||(!t nums[i]0))
? ? ? printf("%d ",nums[i]);
printf("\n");
}
void px(int nums[],int len,int t)//t=1升序,t=0降序
{
int i,j,k,m;
for(i=0;ilen-1;i++)
{
? m=nums[i],k=i;
? for(j=i+1;jlen;j++)
? ? ? if((t mnums[j])||(!t mnums[j])) m=nums[j],k=j;
? m=nums[i],nums[i]=nums[k],nums[k]=m;
}
}