PTA循環
一、PTA實驗作業(循環)
題目一:
1.本題PTA提交列表
2.設計思路(包括流程圖),主要描述題目算法
1. 定義字符數組en[10],數組的長度為10;定義整型變量i,letter=digit=other=0;
2. 用for循環和getchar()輸入10個字符:for(i=0;i<10;i++)和ch[i]=getchar();
3. 再利用for循環和條件語句 if...else if...else 判斷字符的屬性,並且統計字符個數
4. (1). 用if((ch[i]=>‘a‘&&ch[i]<=‘z‘)||(ch[i]=>‘A‘&&ch[i]<=‘Z‘)) { letter++; } 判斷輸入的字符是否為英文字母,如果是就統計英文字母的個數(在原來的基礎上加1)
(2).用(ch[i]==‘ ‘||ch[i]==‘\n‘)判斷輸入的字符是否為空格,在用blank++;統計空格個數
(3).用(ch[i]>=‘0‘&&ch[i]<=‘9‘)判斷輸入的字符是否為數字,再用digit++;統計數字的個數
(4).最後用other++;統計輸入的字符是既不是空格,也不是數字,也不是英文字母
5. 最後用輸出統計後英文字母、空格、數字、其他字符的個數:printf("letter = %d, blank = %d, digit = %d, other = %d\n",letter,blank,digit,other);
6.流程圖如下:
7.最終的代碼如下;
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
發現的問題:剛開始的時候提交的時候提示格式錯誤,再後來多次檢查後發現是輸出的格式與題目要求的輸出格式不符。
解決方法:在輸出的等於號兩邊都加上一個空格就可以解決
題目二:
- 本題PTA提交列表
2.設計思路(包括流程圖),主要描述題目算法
//由題目可知,設計思路如下:
1.定義整型變量n,i,j,S=0,s=1,且n<=10。
2.利用for循環計算出每個數字階乘,用公式s=s*j計算,再用for循環計算階乘的相加,利用公式S+=s,再循環末尾重新使s=1。
3.最後輸出結果S。
5.流程圖如下:
6.最終的代碼如下:
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
問題:
解決方法:
題目三:
- 本題PTA提交列表
2.設計思路(包括流程圖),主要描述題目算法
//由題目可知,設計思路如下:
1.定義整型變量i和n,並定義整形數據result=0,
2.輸入數據n
3.利用for循環求出2的i次方的加和(其中1<=i<=n),公式result+=pow(2,i).
4.輸出數據result。
5.流程圖如下:
6.最終的代碼如下:
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
出現問題:
方法:
二、同學代碼互評
1.我的代碼:
2.同學:
同學的代碼:
3.我和同學的代碼有哪些不同?各自有哪些優勢?你更喜歡那種代碼的風格?
三、截圖本周題目集的PTA最後排名
四.本周學習總結
1.本周你學會了什麽?
1.本周學會了for循環和while以及do....while 循環的基本運用
2.以及深入了解了for和while循環嵌套
3.for和while循環的判斷條件等
2.周的內容,還有那些內容不會?
.對於一些較復雜的循環嵌套題,還不能準確的寫出來,總是出現一些錯誤
.對於循環題做得速度總是很慢,而且程序總是過於復雜,需要學會如何簡化程序
PTA循環