任務和**:對於任意一串數字,輸出第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...