這個作業屬於那個課程 | C語言程序設計I |
這個作業的要求在哪里 | C語言I作業10 |
我在這個課程的目標是 | 掌握C語言程序設計的基本編程能力 |
這個作業在那個具體方面幫我實現目標 | 熟練運用循環的嵌套 |
參考文獻 | PTA Devc++ C語言程序設計 |
1.PTA實驗作業(20分/題)
1.1 輸出三角形字符陣列 (15 分)
本題要求編寫程序,輸出n行由大寫字母A開始構成的三角形字符陣列。
1.1.1 數據處理
數據類型:用了n,i,j,sum四個變量,數據類型都是整型變量。
數據處理:
include<stdio.h>
int main()
{
int n,i,j,sum = 0;
char A;
scanf("%d",&n);
for(輸出n行)
{
for(控制每行的字母數)
{
printf(輸出字母);
對字母的替換進行控制;
}
printf(空格);
}
return 0;
}
1.1.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
4 | ![]() |
樣例 |
5 | ![]() |
隨機 |
6 | ![]() |
隨機 |
1.1.4 PTA提交列表及說明
1.不會將字母一個一個引進來。
2.將字母引進改成輸入,就是scanf("%d %c",&n,&A);
1.2 梅森數 (20 分)
形如2n−1的素數稱為梅森數(Mersenne Number)。例如22−1=3、23−1=7都是梅森數。1722年,雙目失明的瑞士數學大師歐拉證明了231−1=2147483647是一個素數,堪稱當時世界上“已知最大素數”的一個記錄。本題要求編寫程序,對任一正整數n(n<20),輸出所有不超過2n−1的梅森數。
1.2.1 數據處理
數據類型:用了b,c,d,n,i五個變量,都是整形變量。
數據處理:
include<stdio.h>
include<math.h>
int main()
{
int b,c=0,d=0,n,i;
scanf("%d",&n);
將1這種特殊情況獨立出來單獨分析
for(引進2到n個數字)
{
計算n的梅森數;
for(引用要取余的數字)
{
if(判斷梅森數是否是梅森素數)
{
引進標志;
跳出循環;
}
}
if(用標志來判斷)
printf(輸出梅森數);
將標志改回,為下次循環做准備;
}
return 0;
}
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
6 | 3 7 31 | 樣例 |
3 | 3 3 7 | 隨機 |
16 | 3 7 31 127 8191 | 隨機 |
1.2.4 PTA提交列表及說明
1.一開始以為是輸出梅森素數,同時沒有注意超過梅森數,我就在引進數字的時候,將能改成了n-1;
2.沒有將標志改回,導致下次循環如果是滿足條件的梅森數輸不出來的。
2.代碼互評(5分)
同學代碼截圖
自己代碼截圖
1.首先我們引進字母的方式不同,我直接是用ASCII碼而他用的是定義字符型。
2.然后導出倒三角時我用的是借用乘法表的格式,而他是引進一個變量來控。
3.學習總結(15分)
3.1 學習進度條(5分)
日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
10/7--10/13 | 8個小時以上 | 106 | if-else語句 常用的數學庫函數 數據類型 | 分不清變量用什么%d,%lf |
10/12-10/17 | 五個小時以上 | 90 | for循環語句 | 為什么不能直接用i來表示分母。 |
10/18-10/25 | 四個小時以上 | 96 | 調用函數 | 對函數調用時還有聲明函數時變量能選一樣的嗎,還有就是對return后面打的東西不了解 |
10/26-10/2 | 8個小時以上 | 134 | 學習了常量和變量 | 用太多的if-else語句那個{}的數量很亂 |
10/3-10/8 | 8個小時以上 | 128 | 學習switch語句 | 對case 1 case 2共用一個表達式其它的表述方法 |
10/9-10/15 | 五個小時以上 | 98 | 學習了while語句和do-while語句 | 偽代碼的書寫 |
10/16-10/22 | 五個小時以上 | 87 | 學了循環的嵌套和break語句,contitue語句 | 循環語句用起來比較暈 |
10/24-10/29 | 六個小時以上 | 102 | 加強對循環的嵌套的運用 | 循環的嵌套沒有用最佳的方案,同時對求余必須是同數據類型 |
3.2 累積代碼行和博客字數(5分)
3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結
3.3.2 學習體會
我發現我們的助教是真的好,我老是問他寫愚蠢的問題,他是很耐煩的回答我,真的真的很感謝他,真的是激起了我對學習的欲望,哈哈哈。回歸正題,這周的學習,我們主要對加強對循環的運用,現在我對那個循環的嵌套沒有那么暈了,但是找不到最優的方案,然后語文不是太好,看到題目的表面現象,沒有看到題目的特殊的情況,這方面我的彌補方式,主要是多多練題吧,多多熟悉他們的套路。