1. 程式人生 > >PTA循環

PTA循環

getch 其中 pow 是否 設計 每一個 英文字母 優勢 char

一、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提交的列表中的每一個錯誤詳細說明為什麽及如何解決)

    發現的問題:剛開始的時候提交的時候提示格式錯誤,再後來多次檢查後發現是輸出的格式與題目要求的輸出格式不符。

    解決方法:在輸出的等於號兩邊都加上一個空格就可以解決

題目二

技術分享圖片

  1. 本題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提交的列表中的每一個錯誤詳細說明為什麽及如何解決)

    問題:

     解決方法:

題目三

技術分享圖片

  1. 本題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循環