做一道題目中的一部分,想寫一個求排序好的陣列(有奇數項)的中位數,結果數字大了就發現運行不了。
在線等,求助。
謝謝大佬們!
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int i;//陣列項數
int main(int argc, char** argv) {
int j,k,med;
int array[i];
cin>>i;//輸入陣列項數
for(j=0;j<i;j++)
{
cin>>array[j];
}
int median(int array[]);
med=median(array);
cout<<med<<endl;
return 0;
}
int median(int array[])
{
int p,q;
p=(i+1)/2-1;//求出中間項項數
q=array[p];
return q;
}
uj5u.com熱心網友回復:
陣列定義有問題,c++不能夠用動態陣列,修改如下,供參考:#include <iostream>
using namespace std;
#define N 50
int i; //陣列項數
int main(int argc, char* argv[])
{
int j,k,med;
int array[N];
cin>>i; //輸入陣列項數
for(j=0;j<i;j++)
{
cin>>array[j];
}
int median(int array[]);
med=median(array);
cout<<med<<endl;
system("pause");
return 0;
}
int median(int array[])
{
int p,q;
p=(i+1)/2-1;//求出中間項項數
q=array[p];
return q;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/227409.html
標籤:C++ 語言
下一篇:Linux經典書籍推薦
