編寫函式void fun(int x, int *pp, int *n),它的功能是:求出x的偶數因子,並按從小到大的順序存放在pp所指的陣列中,這些因子的個數通過形參n返回。如,若x中的值為24,則有6個數符合要求,它們是2、4、6、8、12、24。主函式中輸入乙個小於等於1000的正整數,呼叫fun函式之後按順序輸出該正整數的所有偶數因子。
輸入輸出形式如:
input number:512
2 4 8 16 32 64 128 256 512
最後以回車結束。
本題的要求有兩個:一是求出x的偶數因子,二是對偶數因子進行排序這兩步均需要在函式裡完成。
void
fun(
int x,
int*pp,
int*n)}}
*n = j;
//因子的個數通過形參n返回.
}
主函式部分只需要呼叫函式即可:
#include
void
fun(
int x,
int*pp,
int*n)
;int
main()
//pp陣列內的值在函式部分已經確定為n,這裡執行的是從
//0-n輸出pp陣列內的數字.
return0;
}
本題比較令我費解的點是「因子的個數通過形參n返回」的要求。n是乙個指標,指標指向的是位址。在函式中,pp陣列已經從小到大將x的因子錄入了,且因子個數j已賦給指標n返回主函式。因此,只需要在主函式中插入乙個從0-(n-1)的迴圈即可讀取pp陣列中的值並將其輸出得出結果.
完整**如下:
檢測輸入資料中奇數和偶數的個數
檢測輸入資料中奇數和偶數的個數 從鍵盤輸入一系列正整數,輸入 1表示輸入結束 1本身不是輸入的資料 編寫程式判斷輸入資料中奇數和偶數的個數。如果使用者輸入的第乙個資料就是 1,則程式輸出 over 否則。使用者每輸入乙個資料,輸出該資料是奇數還是偶數,直到使用者輸入 1為止,分別統計使用者輸入資料中...
輸入乙個算式,並求出該算式
我的程式 cpp view plain copy print?程式的版權和版本宣告部分 檔名稱 test.cpp 作 者 王魯峰 完成日期 2013 年11月 1 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問題描述 輸入乙個算式,並求出該算式 問題分析 略 演算法設計 略 ...
輸入n個整數,求出最小的K個數字
該問題我們可以先維護乙個大小為k的陣列karr,然後遍歷n個整數,當某個值比karr的最大的還要小時,就更新該陣列。如下 include include include include using namespace std void display int intarr,int length co...