C 實習報告

2021-09-28 01:23:24 字數 2506 閱讀 9389

專業:地理資訊系統

班級:114122

學號:20121002074

姓名:李佳蓉

實習題目一進製轉換

【需求說明】

編寫乙個程式,實現2/8/10/16進製制數之間轉換。

即實現使用者輸入乙個十進位制的數字,利用函式實現轉化為2進製、8進製、16進製制,並實現輸出。

【演算法設計】

(1)設計思想

使用者輸入乙個十進位制數字,通過函式實現除以進製取餘法來完成進製的轉換。特別注意由於十六進製制中超過9的數字需用字幕來表示,故需要對十六進製制的運算結果通過switch語句進行進一步判斷。

(2)總體設計

由於需要把餘數分別輸出,故需要將餘數放在乙個陣列內。

void f1(double p,int q定義乙個無返回值型別的函式f1.形參為double型的p和int型的q。p即為需要轉換的數字,q為需要轉換為的進製。

for(i=t-1;i>=0;i--) }}

(3)詳細設計

#include "iostream"

using namespace std;

void f1(double p,int q) //定義乙個無返回值型別的函式f1.形參為double型的p和int型的q。p即為需要轉換的數字,q為需要轉換為的進製。

for(i=t-1;i>=0;i實現逆序輸出。}}

void main()

cout<}

【除錯報告】

除錯中十六進製制轉換過程**現了10以上的數字,通過用switch語句進行進一步判斷解決了問題。**仍然比較複雜,並且使用者無法實現自由選取需要轉換的進製,需要進一步改進。

【使用者手冊】

使用者需要根據提示輸入乙個10進製的數字,即可輸出相對應的2進製,8進製,16進製制數字。

實習題目二五猴分桃

【需求說明】

五隻猴子摘了一堆桃子,約好第二天早上來分。第一只猴子來得早,它將桃子平分成五堆,多出乙個,它把多出的乙個吃了,把屬於自己的一堆拿走了,將剩下的還混成一堆其他猴子來了也正好按一樣的方法處理。程式設計求出原來最少有多少個桃子。

(用遞迴函式。) 即利用遞迴函式逐個判斷符合條件的數字,輸出最小的數字。

(1)設計思想

利用逆向思維,從桃子數i符合的條件入手,尋找符合條件的最小的數字i。

(2)總體設計

通過分析題目,容易知道每一次的桃子數目總是滿足除以5餘數為1,每一次剩下的桃子總為上一次每堆的桃子數目減1除以5乘以4。直到運算的次數為5後跳出迴圈。

是否 否

是int fun(int n,int numn為猴子數,num為桃子數

(3)詳細設計

#include

using namespace std;

int fun(int n,int num)

//n為猴子數,num為桃子數

int main()

i}cout< return 0;

}【除錯報告】

除錯過程**現了錯誤的結果,原因是i自加的位置不對。改正後得到正確結果。但是仍需要進一步優化程式,使運算結果顯示的更加美觀。

【使用者手冊】

使用者可根據需要改變n和i的值,實現多種運算。

實習題目三出圈問題

【需求說明】

有25個人圍成乙個圈(編號0~24),從第0號的人開始從1報數,凡報到3的倍數的人離開圈子,然後再數下去。直到最後只剩下乙個人為止。問此人最初的位置是多少號?

(1)設計思想

利用兩個計數器,計數器一用來計數報數,計數器二用來記錄倖存人數。當計數器二的值變為1之後,遊戲停止。通過for迴圈實現依次查詢符合條件的資料。

(2)總體設計

這是乙個典型的約瑟夫環問題。需要定義乙個長度為25的陣列,將參與者放入陣列中。定義兩個計數器,計數器一用來計數報數,計數器二用來記錄倖存人數。

當計數器二的值變為1之後,遊戲停止。

(3)詳細設計

#include

using namespace std;

void main()

int count1=0; //計數器一,計數報數。

int count2=25;//計數器二,計數剩下的人數。

for(int m=0;count2!=1;m++) //判斷是否繼續。

else

continue;

}if(count2==1)

}【除錯報告】

首次除錯過程中沒有注意需要讓迴圈一圈一圈的往下執行所以得到錯誤的答案。後來發現後通過m%=25的語句來保證迴圈直到倖存者為1時候才結束。

【使用者手冊】

使用者可根據需要更改count1取餘的數字和count2的初始數字來實現多種運算。

實習題目四矩陣乘法問題

【需求說明】

4. 編寫乙個函式實現m行k列矩陣與k行n列矩陣的乘法。設a為m行k列矩陣,b為k行n列矩陣,則c=a×b,乘積c為m行n列矩陣。

矩陣乘法的規則是:設a[m,k],b[k,n],則c[m,n]= a[m,k] ×b[k,n]。

其中(見公式4-2):

例如:(1)設計思想

C 實習報告

實驗報告 課程名稱 c 程式設計 專業班級電子1041 姓名李巨集平 學號 1004451132 電氣與資訊學院 和諧勤奮求是創新 實驗教學考核和成績評定辦法 1 課內實驗考核成績,嚴格按照該課程教學大綱中明確規定的比重執行。實驗成績不合格者,不能參加課程考試,待補做合格後方能參加考試。2 單獨設立...

c實習報告

應用程式開發實訓 實訓報告 專案名稱醫院管理系統 班級 姓名 學號 指導教師 山東水利職業學院 實習實訓評語及成績評定表 醫院管理系統 計算機網路的普及越來越廣泛,生活中也是隨處可見。因此,現代化的醫院也應該有現代化的管理系統。在科技日益發達的今天,人們的身體健康也在不斷受到重視。因此,醫院進行現代...

C實習報告

實習性質 初級開發與應用 學生姓名 專業班級 計應 102 指導教師 實習時間 2011年6月27日 2011年7月 1日 實習地點 第四教學樓4312教室 重慶工程職業技術學院 學生實習考核表 目錄一 實習目的 3 二 實習任務 3 三 實習內容 3 一 學習指導1 3 1 使用條件運算子找到較大...