精品日本亚洲一区二区三区,99久久精品免费观看国产,99久久免费精品,亚洲精品国产一区二区成人,日本亚洲精品一区二区三区四区,国产亚洲精品成人久久网站,久久亚洲男人第一AV网站,精品国产高清一区二区广区,久久精品五月天很黄很艳女TV

考研論壇

 
查看: 2399|回復: 6
打印 上一主題 下一主題

2012圖像所復試編程試卷(回憶)

[復制鏈接]

3

主題

13

帖子

394

積分

一般戰友

Rank: 2

精華
1
威望
190
K幣
204 元
注冊時間
2012-3-31
跳轉到指定樓層
樓主
發表于 2012-4-3 09:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 snowhorse712 于 2012-4-4 09:13 編輯

滿分20
學術一,,三題/ 專業一,,四題
要求添加足夠多的注釋
, 精確計算階乘.
一個32 位整型變量無法精確表示大數的階乘, 但一個整型數組卻可表示.
算法思路: 當階乘結果為不超過104次方的十進制正整數時, 可用一個整型數組( int nFactorial[4] )來依次存放階乘的每一位數字. 比如, 5!=120可被記錄為nFactorial[0]= 0, nFactorial[1] = 2, nFactorial[2] = 1, nFactorial[3] = 0.
當已計算出k的階乘, 要計算(k+1)的階乘時, 將記錄k的階乘的數組的每一位都與(k+1)相乘, 乘積依然存在數組的對應位上. 最后, 從最低位開始, 依次向高位循環處理每個位中大于9的數. 若數大于9,則需要進位. 將數的10的倍數進到高一位上,將數的小于10的余數存在原來的位中.一直到所有位中的數都小于10為止.
(1)(6) 按此思路, 當已知階乘結果為一個不超過101000次方的十進制整數時, 寫出計算正整數階乘的完整C/C++代碼.
輸入: 鍵盤輸入一個正整數
輸出: 顯示輸入正整數的階乘
(2)(2) 完善代碼, 實現鍵盤輸入是否滿足要求的檢查功能.
(3)(2) 寫出幾種測試用例.
, 有一個浮點型數組記錄了1000個浮點數(float fData[1000]).
(1)(3) 編寫C/C++代碼, 求出這1000個數中最大的10個數.
(2)(3) 寫出能實現從1000億個數中尋找最大的10個數的算法思路.
, 已知一個指向單向鏈表的某個非頭非尾節點的指針(node* pCurrent).  pCurrent 指向的地址中僅保存2個指針, 一個是指向下一個節點的Next指針(pCurrent-> Next), 另一個是指向節點本身數據的Data指針(pCurrent-> Data). 編寫一個C/C++函數, 實現以下功能:
(1)(2) 保留鏈表的原有順序,在原鏈表中刪除這個已知節點的下一個節點.
(2)(2) 保留鏈表的原有順序,在原鏈表中刪除這個已知節點.
, 異或運算的應用.
(1) (2) 列舉異或運算的性質.
(2) (2) 已知一個記錄了1000個整數的整數型數組. 將這1000個整數打亂順序后,只將其中的999個整數記錄在另一個數組中.請利用異或運算的性質編寫一個C/C++函數, 找出缺少的那一個整數.

    評分

    參與人數 2威望 +130 K幣 +100 收起 理由
    h_jinle + 100 + 100 精品文章
    sail2011 + 30 歡迎學弟來圖像所

    查看全部評分

    回復

    使用道具 舉報

    3

    主題

    13

    帖子

    394

    積分

    一般戰友

    Rank: 2

    精華
    1
    威望
    190
    K幣
    204 元
    注冊時間
    2012-3-31
    沙發
     樓主| 發表于 2012-4-3 10:04 | 只看該作者
    本帖最后由 snowhorse712 于 2012-4-10 10:00 編輯

    第一題,(1)初始化數組, 鍵盤輸入, 按照思路循環計算, 進位,輸出結果. 輸出結果時,高位中的多余的零應去掉,然后,從首個有效位到最低位依次輸出數組.
    (2)用scanf("%s", cs)來接受鍵盤輸入的字符串, 再用atoi()將字符串轉換為整數n,  再用itoa()將n轉換為字符串css, 用strcmp()比較cs和css, 相同說明輸入的是整數,不同則非法. 但不知如何確定輸入的整數是否太大...感覺要用到數學知識(斯特靈公式...)...
    (3)測試用例,
    3.1 下邊界0!=1!=1,
    3.2 合法值5!=120, 11!=...,
    3.3 上邊界460!, 461!(結果為1000位10進制整數的上界), 462!(越界)
    3.4 非法值 (abc)!提示非法, (1.3)!, (-0)!提示非法,
    3.5 退出條件 (-2)!, (-1)!...
    等...


    補充內容 (2012-4-12 14:45):
    450就越界鳥...449!有998位

    評分

    參與人數 1威望 +30 收起 理由
    sail2011 + 30 辛苦了

    查看全部評分

    回復

    使用道具 舉報

    3

    主題

    13

    帖子

    394

    積分

    一般戰友

    Rank: 2

    精華
    1
    威望
    190
    K幣
    204 元
    注冊時間
    2012-3-31
    板凳
     樓主| 發表于 2012-4-3 11:17 | 只看該作者
    第二題,(1)部分排序.
    (2)分組,1000個一組, 每組求前10. 然后,每 100個組的結果再合并為一組, 每組再求前10, ...,直到最后求出整體前10.
    疑問:前10個數...應該數值可以相同哈
    回復

    使用道具 舉報

    3

    主題

    13

    帖子

    394

    積分

    一般戰友

    Rank: 2

    精華
    1
    威望
    190
    K幣
    204 元
    注冊時間
    2012-3-31
    地板
     樓主| 發表于 2012-4-3 13:08 | 只看該作者
    第三題,(1) node* pTemp = pCurrent->Next; pCurrent->Next = pTemp->Next; delete(pTemp->Data);pTemp->Data=NULL;delete(pTemp);pTemp=NULL;
    回復

    使用道具 舉報

    1

    主題

    22

    帖子

    186

    積分

    一般戰友

    Rank: 2

    精華
    0
    威望
    0
    K幣
    186 元
    注冊時間
    2011-5-14
    5
    發表于 2012-4-3 15:30 | 只看該作者
    總的來說,復試編程還是很考能力的。 相比微機就簡單多了全是概念  哈哈   
    回復

    使用道具 舉報

    3

    主題

    13

    帖子

    394

    積分

    一般戰友

    Rank: 2

    精華
    1
    威望
    190
    K幣
    204 元
    注冊時間
    2012-3-31
    6
     樓主| 發表于 2012-4-4 08:47 | 只看該作者
    本帖最后由 snowhorse712 于 2012-4-10 09:58 編輯

    編程初看,都能做.但要得高分,還真要能力.
    第三題(2),應該是不知道鏈表的頭.否則,和第一題解法一樣就行了. 但不知道頭咋知道指向pCurrent的指針哪...
    昨晚想了一個辦法.
    ... pTemp0 = pCurrent->Data;(這里題目缺少Data指針的具體類型哈...)
    node* pTemp1 = pCurrent->Next;
    pCurrent->Next = pTemp1->Next;
    pCurrent->Data = pTemp1->Data;
    if(pTemp0 != NULL){delete pTemp0; pTemp0 = NULL;}
    if(pTemp1->Data != NULL){delete pTemp1->Data; pTemp1->Data = NULL;}
    if(pTemp1 != NULL){delete pTemp1; pTemp1 = NULL;}

    補充內容 (2012-4-11 11:03):
    這個鏈表應該沒有環,否則,刪某個節點,可能會出問題..
    回復

    使用道具 舉報

    3

    主題

    13

    帖子

    394

    積分

    一般戰友

    Rank: 2

    精華
    1
    威望
    190
    K幣
    204 元
    注冊時間
    2012-3-31
    7
     樓主| 發表于 2012-4-4 08:56 | 只看該作者
    第四題(1)a^0=a, a^a = 0, a^b=b^a, a^(b^c)=(a^b)^c[同數異或為0,數異或0還為該數,異或運算可交換,異或運算滿足結合律]
    (2)int MyFind(int nArray0[1000], int nArray1[999])
    {
    int nResult = nArray0[0];
    int i;
    for(i=1;i<1000;i++)
    {nResult ^= nArray0[i];}
    for(i=0;i<999;i++)
    {nResult ^= nArray1[i];}
    return nResult;
    }
    回復

    使用道具 舉報

    您需要登錄后才可以回帖 登錄 | 注冊 人人連接登陸

    本版積分規則   

    關閉

    您還剩5次免費下載資料的機會哦~

    掃描二維碼下載資料

    使用手機端考研幫,進入掃一掃
    在“我”中打開掃一掃,
    掃描二維碼下載資料

    關于我們|商務合作|小黑屋|手機版|聯系我們|服務條款|隱私保護|幫學堂| 網站地圖|院校地圖|漏洞提交|考研幫

    GMT+8, 2026-5-4 00:46 , Processed in 0.085665 second(s), Total 13, Slave 10(Usage:6.75M, Links:[2]1,1_1) queries , Redis On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

    快速回復 返回頂部 返回列表
    × 關閉