《c 程式設計》課程設計報告

2021-09-07 02:31:40 字數 3508 閱讀 8615

班級:數學3班

學號:2018212771

報告人姓名:朱明程

實驗地點:東校區教學樓413

完成起止日期:2023年1月2日至2023年1月4日

第一題簡要題意:「水仙花數」是指乙個三位數,它的各位數字的立方和等於其本身,比如:153=1^3+5^3+3^3。

現在要求輸出所有在m和n範圍內的水仙花數。

解題思路:我先把陣列清零,並將100-999中的所有水仙花數找出來,然後將水仙花數所對應的陣列位置賦值為水仙花數。之後只需要判斷m,n中有多少陣列不為零即可。

解題細節處理:輸出要求嚴格,每個輸出資料間有乙個空格。我先將陣列標記,並輸出乙個值,然後剩餘所有值輸出時為空格+輸出值的形式。

源**:

#include#includeusing namespace std;

int a[1001];

int main ()

for(int i=m;i<=n;i++)

while(cin>>n>>m)

x=s/m;

y=2*m+2;

cout《第三題

簡要題意:青年歌手大獎賽中,評委會給參賽選手打分。選手得分規則為去掉乙個最高分和乙個最低分,然後計算平均得分,請程式設計輸出某選手的得分。

解題思路:迴圈讀入n個資料,然後進行排序,注意標頭檔案用sort函式進行排序,然後將a[1]與a[n]賦值為零,求和取商即可。

解題細節處理:保留小數時用printf較好,標頭檔案每組測試資料後接換行即可。

源**:

#include#include#includeusing namespace std;

int a[110];

int main()

sort(a+1,a+n+1);

a[1]=0;

a[n]=0;

for(int j=1;j<=n;j++)

p=s/(n-2);

printf("%.2f",p);

cout《第四題

簡要題意:輸入n(n<=100)個整數,按照絕對值從大到小排序後輸出。題目保證對於每乙個測試例項,所有的數的絕對值都不相等。

解題思路:運用兩個陣列與氣泡排序,將原陣列與絕對值陣列同時排序,最後輸出原陣列即可。

解題細節處理:兩個數之間用乙個空格隔開。每個測試例項佔一行。while末尾需要換行,將a[1]輸出後,採用空格+輸出值的模式將其他的都輸出。中間適時的採用break跳出迴圈。

源**:

#include#include#includeusing namespace std;

int a[1100],b[1100];

int main()

if(n==1)

cout<1)

m=a[1]+a[4];

l=a[2]+a[5];

p=a[3]+a[6];

if(p>=60)

if(l>=60)

cout《第七題

簡要題意:求a^b的最後三位數表示的整數。

說明:a^b的含義是「a的b次方」

解題思路:定義乙個變數為1,用於迴圈累計次方。每次次方後/1000取餘,保證資料不會因為太大而不準確。

解題細節處理:每次迴圈開始時要將變數賦值為1.

#include#includeusing namespace std;

int main()

cout《第八題

簡要題意:一般地講,如果兩個數中任何乙個數都是另乙個數的真約數之和,則這兩個數就是親和數。

你的任務就編寫乙個程式,判斷給定的兩個數是否是親和數。

解題思路:判斷真約數,並求和。最後進行雙重比較,得出結果。

解題細節處理:注意換行

源**:

#include#includeusing namespace std;

int main()

return 0;

}

第十題

簡要題意:

有如下方程:ai = (ai-1 + ai+1)/2 - ci (i = 1, 2, 3, .... n).

若給出a0, an+1, 和 c1, c2, .....cn.

請程式設計計算a1 = ?

解題思路:通過遞推發現除去a0與an外,其他項可以通過累加得到相應的值,最後只需要n*a0+an-2*sum/n+1即可。

解題細節處理:需要注意sum每次迴圈清零,輸出時按樣例需要保留兩位小數。

源**:

#includeusing namespace std;

double c[3100];

int main()

a1=double((n*a0+an-2*sum)/(n+1));

printf("%.2lf\n",a1);

}return 0;

}

第十一題

簡要題意:輸入含有一些資料組,每組資料報括菜種(字串),數量(計量單位不論,一律為double型數)和單價(double型數,表示人民幣元數),因此,每組資料的菜價就是數量乘上單價啊。菜種、數量和單價之間都有空格隔開的。

解題思路:只需要定義乙個字元陣列即可,通過輸入字元與數字,求和即可

解題細節處理:注意四捨五入即為保留一位小數。

源**:

#includeusing namespace std;

char a[50];

int main()

printf("%.1f\n",sum);

return 0;

}

第十二題

簡要題意:在乙個平面內有兩個點,求兩個點分別和原點的連線的夾角的大小。

解題思路:通過arccos函式求值。返回值為弧度制,需要轉化。

解題細節處理:注意所有值同意為double型變數。保留兩位小數。

源**:

#include#include#includeusing namespace std;

const double pi=3.1415926;

int main()

sort(a,a+100);

for(int j=0;j<=99;j++)

if(t==0)

int main()

}cout《第十五題

簡要題意:有二個整數,它們加起來等於某個整數,乘起來又等於另乙個整數,它們到底是真還是假,也就是這種整數到底存不存在,實在有點吃不準,你能快速回答嗎?看來只能通過程式設計。

解題思路:通過判斷n*n-4*m是否為整數即可。

解題細節處理:判斷為0 0;

源**:

#includeusing namespace std;

int main()

return 0;

}

總結:經過了乙個學期的學習,我對c語言有了初步了解,對課程內容也進行了補充。隨著期末考試的到來,可能我以後不會再程式設計,但是程式設計給我帶來的樂趣卻永遠留在我的心中。不管是自定義函式還是for迴圈,不管是if語句還是陣列變數,都對我的思維提公升進行了訓練。至此,本學期的程式設計課程結束。

C 程式設計課程設計報告

c 程式設計 課程設計報告 班級 數學4班 學號 2018212824 報告人姓名 沈園園 實驗地點 山東農業大學東校區教學樓 完成起止日期 2018.1.1 2018.1.5 1problem description 有乙個長度為n n 100 的數列,該數列定義為從2開始的遞增有序偶數,現在要求...

課程設計報告

c 程式設計 課程設計報告 一problem b 題意 輸出所有在給定範圍內的水仙花數 水仙花數是乙個三位數,它的各位數字的立方和等於其本身 解題思路 用while語句輸入多組資料,首先用for語句迴圈給定範圍的每乙個數,接著把個十百位數表示出來,用if語句進行判斷。細節處理 每一組資料的輸出要換行...

課程設計報告

1 水仙花數 是指乙個三位數,它的各位數字的立方和等於其本身,現在要求輸出所有在m和n範圍內的水仙花數。如下 include include include using namespace std int h 20 int main if h 0 0 else if h 0 0 cout 總結 這個...