博客鏈接:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360
問題:
7-5 奇偶分家 (10 分)
給定N
個正整數,請統計奇數和偶數各有多少個?
輸入格式:
輸入第一行給出一個正整N
(≤1000);第2行給出N
個正整數,以空格分隔。
輸出格式:
在一行中先后輸出奇數的個數、偶數的個數。中間以1個空格分隔。
輸入樣例:
9
88 74 101 26 15 0 34 22 77
輸出樣例:
3 6
解題思路:
1.定義變量N,i,n,a=0,b=0 輸入位數n,數字N
2.執行語句 如果是偶數求a和 否則求b和
3.輸出a,b值
實驗代碼:
#include<stdio.h> int main(void) { int N,i,n,a=0,b=0; scanf("%d",&n); for(i=0;i < n;i++){ scanf("%d",&N); if(N%2 == 0){ a++; } else{ b++; } } printf("%d %d",b,a); return 0; }
流程圖:
本題調試過程碰到問題及解決辦法:
1.輸入數值
2.循環到偶數
3.循環到奇數
4.輸出數值
問題2:
7-3 統計學生平均成績與及格人數 (15 分)
本題要求編寫程序,計算學生們的平均成績,並統計及格(成績不低於60分)的人數。題目保證輸入與輸出均在整型范圍內。
輸入格式:
輸入在第一行中給出非負整數N,即學生人數。第二行給出N個非負整數,即這N位學生的成績,其間以空格分隔。
輸出格式:
按照以下格式輸出:
average = 成績均值
count = 及格人數
其中平均值精確到小數點后一位。
輸入樣例:
5
77 54 92 73 60
輸出樣例:
average = 71.2
count = 4
解題思路:
1.定義變量
i=1,n=0,grade=0,count=0,sum=0;count為及格人數,grade為成績
2.輸入人數,在輸入成績
3.通過循環算出大於60的成績,在算出平均數
4.輸出平均值和及格人數
實驗代碼:
#include<stdio.h> int main(void) { int i=0,n=0,grade=0,count=0,sum=0; double average=0; scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&grade); sum=sum+grade; if(grade>=60){ count++; } } if(n>0) printf("average = %.1f\n",sum*1.0/n); else printf("average = %.1f\n",sum*1.0); printf("count = %d",count); return 0; }
流程圖:

本題調試過程碰到問題及解決辦法:
1.先輸入數值
2.通過執行語句算出平均值比輸出
3.通過執行語句算出及格人數並輸出
問題3:
7-1 求整數的位數及各位數字之和 (15 分)
對於給定的正整數N,求它的位數及其各位數字之和。
輸入格式:
輸入在一行中給出一個不超過10^9的正整數N。
輸出格式:
在一行中輸出N的位數及其各位數字之和,中間用一個空格隔開。
輸入樣例:
321
輸出樣例:
3 6
解題思路:
1.定義變量N,sum=0,m sum為各位數字之和,m為整數的位數
2.輸入整數N
3.執行語句,求出m,sum
實驗代碼:
#include<stdio.h> int main(void) { int N,sum=0,m; scanf("%d",&N); if(N<0){ N=-N; } m=0; for(N!=0;N;N/=10){ m++; sum+=N%10; } printf("%d %d",m,sum); return 0; }
流程圖:

本題調試過程碰到問題及解決辦法:
1.輸入數值321
2.執行循環語句
3.輸出位數m 和 各位數的和n 的值
4.前面是求位數 后面求和 但是只執行do while語句 后面輸出和為0。所以只能把兩個數用一個循環寫出來。
總結:
1.通過這幾周的學習,內容上增加了很多東西還有就知識的延申,比如for循環語句的運用及多個for的連用套用(這個理解起來比較難),還有學習了while語句,do-while語句,還有
swicth case break 的語句及運用,后面還學了函數的調用
2.在學習上我發現了自己的不足,許多學過的東西我只是停留在片面沒有,通過pta作業發現自己課下沒有鞏固,許多問題都是通過同學才能做出來;還有自己的聽課狀態需要改進,不
能每次老師提問我都答不出來答案,聽老師說很多同學自學的速度超過了他講課的速度,這才讓我看到別人的努力,這方面我要大幅度的去改進,也不是要多好,最起碼老師講過的都
能跟上,課后回來還要復習。
3.通過這幾周的學習認為for的很多套用理解困難,但通過同學的講解懂得了一點,但是還是要去深入。

評論他人博客:
https://www.cnblogs.com/liuweiliuwei/p/10016885.html#4127450 劉 偉
https://www.cnblogs.com/asdfghjklasdfghjkl/p/10003892.html 孫成龍
https://www.cnblogs.com/chen0803/p/10046139.html 陳悅安