1樓:網友
不明白你為什麼要在最後。
temp1 +=1;
topscore[50] =temp1;
topscore[51] =temp2;
而且你說取了50個數字,那怎麼可能出現topscore的索引有50和51呢?
while迴圈結束後你直接返回temp1就可以了,或者直接返回temp2,在外部方法中通過返回值再去取topscore的索引為temp2的值也可以得到,不明白你為什麼要在最後這樣寫。
public int selectmin(float topscore)
float temp1;//當前最小值。
int temp2;
temp1 = topscore[0];
int i = 1;
while (i < 50)
if (temp1 > topscore[i])temp2 = i ;
i++;return temp2;
修改後的方法,你可以參考一下。
2樓:網友
多貼點你的**,比如呼叫求最小值地方。還有你的temp1為什麼要加1呢?
用c#取單精度陣列中的最小值時出錯。。。大俠幫幫忙吧。 不小心在c/c++版投了個問題,如解決分一併送上
3樓:網友
沒怎麼看懂, topscore 這個陣列長度是多少?52? 還有**說明了什麼呢? 邏輯上看並沒有什麼問題。
4樓:網友
**沒什麼問題,後面一直出現第一次出現的最小值的話你檢查一下是不是介面上有問題,賦值語句出錯?呼叫這個函式時候引數有問題?多執行幾次看看,在程式中間加個彈窗,if (temp1 > topscore[i])
觀察一下怎麼執行的。。
一道c#程式題,請各位大俠幫幫忙!!急!!
5樓:網友
if ( == 是說彈出的對話方塊使用者點選了確定按鈕~~因為showdialog()方法的返回值是dialogresult的值就是確定按鈕返回的~~
1].;是把新增到listview的最後一項。
-1]」是說listview的最後一項,你想:中括號裡是索引,從0開始,count是個數,從1開始,count-1不正好是最大索引嗎,不正是最後一項的索引嗎。
c#定義乙個陣列,共10個元素,找到其中的最大值和最小值,及他們所在陣列中的位置
6樓:網友
在定義乙個變數就是了。
int num=0;
當條件成立的時候,num=i;
由於索引是從0開始計算,那麼最後輸出的時候位置: i+1;
7樓:鄔智
他們在陣列中的位置就是這個陣列裡的那個變數上面,這麼說吧,array[6]=97,這個最大,那麼這個最大值就在這個陣列裡的位置是6.最小值也一樣。
8樓:笑東看電視
把陣列寫為a[c] ,c為0~9。找出最大值為97,去陣列裡查c=6,就知道位置為c+1,即第七個數。
9樓:牛xx的小
得到最大最小值的時候把位置i存貯到變數中去。
不想增加變數的可以再遍歷一遍。
c#求陣列中的最大值和最小值
10樓:網友
對於這種問題,c#自帶的方法很多且簡單,我相信樓主很熟悉了,所需要的是純陣列的最優解決方案。我採用的是二分查詢法:
static void main(string args);,0,;
static int getmax(int x,int i,int j)
這個是通過遞迴來求最大值,它的時間複雜度是log2n(2是底數),如果要得到最小值,那麼把方法的大於號換成小於號即可,這時候總的時間複雜度是2log2n,當然也可以採用快排,先把陣列排序,再取最大最小值,它的時間複雜度只有log2n,但是別忘了快排需要臨時空間,還有互換帶來的空間開銷,所以它存在空間複雜度。樓主可以根據情況適當選擇。
11樓:盒子裡的房間
可以用int的乙個方法 陣列) 得到最大值和也有乙個方法的最小值陣列),不行的化就自有用迴圈了,但用foreach比for快。
12樓:
using system;
using ;
using ;
namespace 求最大數和最小數。
"最小數為"+arry[0]+"" + "最大數為" + arry[ -1]);
呼叫array的靜態方法sort();
sort()的預設是公升序所以排完序後的第乙個數為最小數,最後乙個數為最大數。
13樓:網友
如果你的陣列沒有規律,很抱歉,你必須,至少(當然也是最多)一次就可以搞定。
設定 a就是待找的陣列。
int min=,max=;
for ( int i = 0; i < i++ 偶的這個時間複雜度就是乙個 o(n) 還不是 o(2*n)
14樓:九成完美
很簡單 你可使用arraylist
int arr = ;
arraylist list = new arraylist(arr);
int min = ;
int max = - 1]);
最大" + max +" 最小:"+min);
記得匯入名稱空間。
using ;
^ 祝順利。
15樓:網友
用?:語句比較簡單。
for(int i=0;ia[i]?(b=a):(b=a[i]);只要一輪for迴圈就能得出最大值,同理求出最小值。}
16樓:網友
思想:先排序,得到有序數列,直接列印出最大值與最小值。
using system;
using ;
using ;
namespace test
sort(arr);
min:", arr[0]);
max:", arr[;
public static int sort(int array) }
temp = array[index];
array[index] = array[k];
array[k] = temp;
return array;
}測試資料:80,2,3,4,5
輸出:min:2
max:80
17樓:網友
int a = new int ;
int min = 0;
for (int i = 0; i <= ; i++)else}};
最大值的道理一樣。
希望樓主滿意。
18樓:蓓不哭
catm3 - 千總 五級。
根本就不懂。
樓主用list排序就可以實現。
19樓:匿名使用者
如果陣列是無序的,只能去遍歷一遍了!時間複雜度為o(n)。
因為,排序演算法,最佳的時間複雜度是o(n*log(n)),比遍歷一次大多了。
我平時都是用c語言的,c語言比c++的效率要高的(for比foreach效率高)!
遍歷的時候,只需要遍歷一次,就可以同時求出最大值和最小值了,如:
#include
using namespace std;
void main()
int max,min,i;
for(max=min=a[0],i=1;ia[i]) ps:
這個演算法,最高效了,沒有比這個更高效的啦。
你說的「時間空間複雜度為2*s以下」,s是秒還是陣列長度?
不可能是秒的吧?!如果是指陣列長度,我上面的這個程式,非常滿足!
它的時間空間複雜度為s(不用乘以2,都)!
20樓:網友
你的陣列有沒有規律的?
沒有規律只能遍歷了。
如果有的話,我可以幫你想想。
c#輸入陣列,輸出最大值,最小值
21樓:網友
說下你這個流程吧:
首先:int a = new int[3];//此時a[0]=0int max = a[0];//max=0int min = a[0];//min=0for (int i = 0; i < i++)"請輸入第個數字", i+1);
a[i] = ;
迴圈輸入a= 即a[0]=10
if (max > a[0])//max=0,a[0]=10 不成立。
max = a[0];
if (min < a[0])//min=0 a[0=10] 成立min = a[0];//min=10
最大值為,最小值為",max,min);
輸出結果:最大值為0,最小值為10
錯得一塌糊塗。
int a = new int[3];
請輸入第個數字", 1);
a[0] = ;
先給a[0]賦值 使max和min的初值為a[0]而不是0 否則對於全負數或是三個數都大於0的情況下的比對會出錯。
int max = a[0];
int min = a[0];
for (int i = 1; i < i++)個數字", i + 1);
a[i] = ;
迴圈內比對 儲存max和min
if (max < a[i])
if (min > a[i])
最大值為,最小值為", max, min);;
22樓:網友
程式有問題,對max和min賦值應放在錄入資料for迴圈之後,否則a[0]初值為0,即最大值為零,比較大小部分也有問題,需要修改。
23樓:丶揚丿
int a = new int[3];
int max = a[0];
int min = a[0];
for (int i = 0; i < i++)個數字", i+1);
a[i] = ;
if (max < a[i])
if (min > a[i])
最大值為,最小值為",max,min);;
c#獲取陣列中的值
24樓:匿名使用者
string privacy = new string;取陣列的值要用索引,從0開始,要去第乙個值 是 privacy[0]取第二個值 是privacy[1]
C語言程式設計 輸入三個單精度數輸出最小值
如何用c語言程式設計求三個數中的最小值 你可以任意輸入三個數。include int min int a,int b int main 首先輸入三個數值。兩兩對比,若其中乙個數值小於其他兩個數值,則為最小值 如下 include int mian 輸入三個整數,輸出其中的最小值 用c語言程式設計 最簡單的源...
C語言雙精度,單精度是怎麼計算的
實型變數分為兩類 單精度型和雙精度型,其型別說明符為float 單精度說明符,double 雙精度說明符。在turbo c中單精度型佔4個位元組 32位 記憶體空間,其數值範圍為3.4e 38 3.4e 38,只能提供七位有效數字。雙精度型佔8 個位元組 64位 記憶體空間,其數值範圍為1.7e 3...
請問,C 中的類的物件組成的動態陣列怎麼用sort()或qsort()排序
使用sort排序 結構體網上例子很多的 就是先寫一個排序函式 然後讓sort按照你的函式排序就行了 stl 裡面有個 sort 函式,可以直接對陣列排序,複雜度為 n log2 n 使用這個函式,需要包含標頭檔案。這個函式可以傳兩個引數或三個引數。第一個引數是要排序的區間首地址,第二個引數是區間尾地...