選擇問題1

2021-07-15 16:24:46 字數 1261 閱讀 8344

任務和**:對於任意一串數字,輸出第k大的數

/*

檔名:main.c

完成日期:2016.7.31

問題描述:對於任意一串數字,輸出第k大的數

程式輸出:

*/#include #include #include void sortnumber(int *a,int k);

void insertnumber(int *a,int k,int number);

int main()

; int i = 0;

for(i = 0;i < number;i++)

fflush(stdin);

printf("您需要查詢第幾大的數:");

scanf("%d",&k);

p = (int *)malloc(k * sizeof(int)); //為指標動態分配空間

//對於需要查詢的資料所處的位數不能大於資料的總數

if(k > number)

//先將需要查詢的前k個數輸入到指標所指向的空間中

for(i = 0;i < k;i++)

//將指標中的資料進行排序

sortnumber(p,k);

//依次傳入後續的資料並且將其與指標所指向的內容進行比較

for(i = k;i < number;i++)

//釋放分配的空間,輸出結果

printf("第%d大的數是:%d",k,*(p + k - 1));

free(p);

return 0;}/*

函式功能:使用氣泡排序對指標指向的空間資料進行排序

*/void sortnumber(int *a,int k)

}}}/*

函式功能:比較第k個數與number,如果滿足條件,將其插入

*/void insertnumber(int *a,int k,int number)

else if(*a < number)

*a = number;

return;

}//如果number大於陣列中第i位數,將i位開始的數往後移位,將最後的數擠出陣列,將number替換a[i]。

for(i = 1;i < k;i++)

*(a + i)= number;

return;}}

}

程式執行結果:

1 選擇排序

選擇排序演算法思想描述 1 定義變數minindex每次都指向全域性最小值 2 從陣列0位置開始,minindex 0,把1 n 1位置上的每乙個數依次取出 用下標j指向 和minindex位置的數比較,如果取出的這個數arr j 比arr minindex 的數小,更新minindex j,否則不...

專案選擇 1

從事程式設計師已經十多個年頭,人生一世能有多少個十年。最近裸辭了,不為別的,就為了自己曾經的夢想,為了能夠有更多的時間陪伴妻兒。做出決定到徹底離開原來的公司也就乙個月的時間。如今徹底是自由身了。一直工作,突然停了下來,就像一台高速運轉的機器,突然停下來一樣。難免有中失落和不習慣。但是既然做出了選擇,...

Nagios系列1,選擇

zabbix和nagios哪個更好 zabbix 1.分布式監控,適合於構建分布式監控系統,具有node,proxy 2種分布式模式 2.自動化功能,自動發現,自動註冊主機,自動新增模板,自動新增分組,是天生的自動化運維利器的首選 當然於自動化運維工具搭配,puppet zabbix 或者salts...