-
二分法。 #include""
int search(int a,int x)int find,low,high,mid;
find=0;low=1;high=10;
while(!find&&low<=high)mid=(low+high)/2;
if(x==a[mid])find=mid;
else if(xelse low=mid+1;
return find;
void main()
int i,x,a[11];
printf("請按公升序輸入10個數字");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("請輸入數字 x:");
scanf("%d",&x);
printf("陣列 a 中數字 %d 的位置為 %d",x,search(a,x));
-
我給你乙個**,比較簡單。
int findsecondmaxvalue(int src, int count)
else if (src[0] >src[1])else
for (int i=2; i= max)else}}
return secondmax;}
-
有一種更愚蠢、更簡單的方法可以做到這一點,只需對陣列進行排序即可。
然後可以輸出倒數第二個數字。
-
2. 定義 lista=('a','b','c','d','e'),使用len函式判斷陣列的長度,alt+f10 執行後可以看到結果為 5,注意用 [array name + [ordinal number]] 獲取列表的值。
3.可以通過[陣列名稱+[序號]]獲取陣列中指定位置的元素值,前提是[指定位置]必須小於陣列的長度。
4.遇到如此複雜的陣列時,如果要獲取指定位置的值,則必須顯式指定位置。
5. 如果要獲得複雜陣列的正確結果,指定的位置必須為 [陣列索引]。
-
對於有序序列,最有用的是“二進位查詢”或“半拆分搜尋”。
-
在一維陣列中查詢指定元素的方法:
首先,定義陣列並為陣列元素賦值。
輸入位置值,輸出對應的元素值(即找到指定位置的元素)先判斷該位置是否合法,如果不合法,則輸出位置錯誤,請重新輸入位置是否合法,然後將位置值變成乙個下標陣列,通過下標確定資料, 和輸出,如:下標的第乙個元素是0,第二個元素是1,以此類推。
輸入乙個數值,輸出對應的下標(即找到指定元素的位置)迴圈陣列,檢查陣列中的資料是否等於要檢查的值,如果相等,則提前結束迴圈:break;
否則,請繼續迴圈並檢查下乙個數字。
遍歷所有陣列元素後,結束迴圈。
迴圈結束後,檢查迴圈變數的值是否超過陣列中的元素總數,如果沒有,則表示已經找到了對應的資料,輸出其下標位置,否則輸出找不到對應的元素。
-
include""
void main( )
例如,10 個元素是 0-10;
int k=0;
printf( "請輸入您要查詢的數字 k")scanf("%d"&k);
for(int i=0;i<10;i++)
-
每個 while 迴圈測試一輪陣列輸入,然後 printf("%d %d",max,loc);
把它放在 WHILE 中,否則不會列印。
printf("%d %d",max,loc);
return 0;
-
我必須使用模板嗎?
對於結構元素查詢,您可以使用基於其中的幾個或全部進行比較。
所以最好專門寫乙個函式來找到它。
例如,int find(struct stu *array, int value)。
這個是找m的。
如果為結構找到的元素是固定的,例如值查詢 m,或者僅當所有元素都具有相等的值時。
您可以覆蓋運算子 ==
-
“我定義的結構是。
struct stu c[10]=;”
如果定義有問題,結果將只有 c[0]=,消失。
-
#include
using namespce std;
int find(int num,int n,int x){for(int i=0;我在 i! "組版本中的資料數:許可權";
cin>>n;
int num[n];
int x;
cout<<"請輸入"<>num[i];
cout<<"請輸入您要查詢的資料 x:";
cin>>x;
cout<<"資料 x 在陣列中的位置為:"<
在整個 main 函式中,只有這乙個變數,無論是第乙個 for 還是第二個 for,都是相同的 i,第二個 for 將有 i=-1,在 i= -1 的情況下,和 printf("%d ",a[i]);陳述。 所以不要害怕! 當案例沒有秒數時: >>>More
氣泡排序,分數成陣列,名稱成二維字串,字串的第一維對應陣列的下標,排序交換一次,交換可以通過緩衝字串t來實現,例如使用strcpy(類似於變數的賦值)。 >>>More
該程式是模組化的應用,前兩個子程式getline函式,copy函式作為調製函式,其功能是將一行讀成s並返回其長度並從to複製到,主要函式通過呼叫這兩個函式來達到目的。 了解調製函式的作用後,首先分析主要的音調功能,而((len = getline(line,maxline)) 0)是將輸入線讀入行中,並分配返回給len的長度,當有輸入為len>0時,則判斷長度是否為最大值,如果滿足則標記行, 並將行複製到 longest,依此類推,直到不再輸入長度最大的輸出行。