C語言課程設計

2022-12-26 16:21:06 字數 1276 閱讀 8456

《高階語言程式設計》

院系: 工學院

專業: 機械工程

年級學生姓名

學號: 201301030906

指導教師

題號: 第 56 題

2023年6月

1、題目(課程設計題庫第56題)

題目解析

題目內容為:求具有abcd=(ab+cd)2性質的四位數

有題目我們可以看出,題目的要求是需要我們找出乙個整形的四位數abcd,使其前兩位合成整形的兩位數與後兩位合成整形的兩位數的和的平方等於這個四位數,即abcd=(ab+cd)2。

2、問題分析

像滿足這種性質整形四位數是沒有一種特定的分布規律,對於這種問題我們可以採用窮舉法的「暴力」方式來解決。因為這個四位數有一定的範圍即:1000<=abcd<10000:

所以我們可以對所有的四位數都進行判斷,從中篩選出符合這種規律的四位數abcd。

具體演算法:

可任取乙個四位數,將其截為兩部分,前兩位為整形兩位數a,後兩位為整形數b,然後套用公式abcd=(ab+cd)2計算並判斷。

列舉法:像3025這個數具有一種獨特的性質:將它平分為二段,即30和25,使之相加後求平方,即(30+25)2,恰好等於3025本身。

最後程式的設計就是要實現這一功能,在1000~9999中找出滿足的數。

3、程式流程圖

4、程式**

設計的程式流程**為如下:

#include<>

void main()

}5、執行結果(截圖)

6、課程設計過程問題討論

程式設計過程

像這類問題的c語言程式的設計,因為四位整形數是有範圍的,這個我們的設計提供了一些明確的方向,不用海闊天空得去找有關程式結果列子,使得程式的設計偏向於簡單。還有就是像這種程式我記得在上課時有過這種題型,而且老師還列舉過一些相似的程式。所以再選了這個題目之後我很輕鬆的把它完成了。

最後的討論

在程式編寫後,我嘗試用了一種新的方法來解決這個問題,但是不知道是什麼原因最後的輸出結果不能與第一次設計的程式輸出的結果相同。(我把第二設計的程式附加在了後面的兩頁)

新程式如下:

#include<>

void main()

}執行結果為:

設計思路為:

設五個整形數n,a,b,c,d;a,b,c,d的取值範圍都為1~9,n的取值範圍為1000~9999;令n=a*1000+b*100+c*10+d,假設把ab合成乙個數,cd合成乙個數,如果(ab+cd)2=n滿足,則輸出的n值就滿足題目要求,但是程式執行後得不出數字。

c語言課程設計

西安郵電大學 c語言課程設計報告 題目學生作業完成情況管理系統 院系名稱計算機學院 專業名稱軟體工程 班級軟體1205班 學生姓名詹盛軍 學號 8位 04123156 指導教師王小銀 設計起止時間 2013年06月02日 2013年06月14日 一.設計目的 1 熟悉c語言程式的編輯 編譯鏈結和執行...

c語言課程設計

目的 能利用指標,陣列,變數等元素實現檔案的讀寫,既能往檔案中存放資訊,又能將資訊從檔案中讀取出來。報告題目及安排 報告題目在計算中心主頁最下面,綜合設計性實驗裡的tc實驗前十個題目,每班的1 11 21 31號同學做第乙個實驗,2 12 22 32號同學寫第二個實驗,依次類推,自己寫自己的課設,不...

C語言課程設計報告

課程名稱計算機高階語言課程設計 c 教師姓名 本科生姓名 本科生學號 本科生專業機械設計製造及其自動化 所在院系機電學院 類別c.本科生 日期2013.7.11 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平時成績,必須在上面評分表中標出,並計算入總成績。模擬手...