看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《koei6200 (雲牙刃)》之銘言: : 各位好,我是目前還在學習C語言的新手 : 最近我碰到了一個問題 : 題目是:讀入一維整數陣列元素(元素個數<=5,陣列中至少各有一個奇數和偶數) : 再自行定義一個函數void MyOddEven(int *arr) : 以求出一維陣列arr中最大偶數與最小奇數並將位置調換 : 請在主程式中呼叫MyOddEven ( )函數並輸出最後的結果 : 範例: : 輸入:12 90 81 17 : 輸出:12 17 81 90 def MyOddEven( arr ): # 設最大偶數和最小奇數的位置為無效值 maxEven = -1 minOdd = -1 for i in arr.size(): if( arr[i] % 2 == 0 ): if( maxEven == -1 or arr[maxEven] < arr[i] ): # 如果最大偶數目前未知或找到更大數就更新位置 maxEven = i else: if( minOdd == -1 or arr[minOdd] > arr[i] ): # 邏輯同上 maxOdd = i # 交換吧 swap( arr[maxEven], arr[minOdd] ) 雖然我不知道題目的 prototype 這樣給是要怎麼判定陣列大小 ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.96.117.44
koei6200:判定陣列大小,我是學用while(fscanf()!=EOF) 05/02 02:57
james732:legnaleurc應該是問你的那個count是從哪裡冒出來的 05/02 02:58
legnaleurc:我的意思是,在"函式內"無法知道大小,我猜你是用全域 05/02 02:58
koei6200:那個是在#include<stdio.h>之後 就int count了 05/02 02:59
legnaleurc:其實我不知道為何很多學校的試題都略過這種要命的細節 05/02 03:01
koei6200:其實這程式我是跟同學要來之後再修改過的,因為有的地方 05/02 03:08
koei6200:沒有看過,所以才自己來修改看看 05/02 03:08
Firewoker:何為要命的細節? 05/02 03:09
loveme00835:不要用程式碼來回答問題! 你若沒辦法用口語來敘述, 表 05/02 03:11
loveme00835:式你還不清楚流程為何 05/02 03:11
legnaleurc:給你陣列不給你大小,要你字串反轉結果給你字面常數 05/02 03:11
james732:結果我的上一篇被無視了 〒△〒 05/02 03:12
loveme00835:XD 05/02 03:12
legnaleurc:... 我以為我寫的算 pseudo code 了 ... 05/02 03:13
loveme00835:我是說 1樓... 0.0 05/02 03:17
loveme00835:我是用指標來做 http://ppt.cc/s!dz 05/02 03:22
uranusjr:這看起來還真像 Python XD 05/02 10:22
legnaleurc:偽 python XD 05/02 11:05
loveme00835:@_@ 05/02 12:40
yoco315:XDDD 05/02 14:37