【作業要求】:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360
第11周第六次作業:7-1 求1到100的和
1.實驗代碼
#include<stdio.h> int main() { int i,sum; sum = 0; for(i=1;i<=100;i++){ sum = sum+i; } printf("sum = %d\n",sum); return 0
2.設計思路
第一步:仔細閱讀作業題目要求,輸入格式及輸出格式。觀察輸出樣例及輸入樣例的數字間是否存在空格。
第二步:定義相加和(sum),與數字(i)。
第三步:利用for循環,循環求和得出相加數的大小。
第四步:輸出結果。
流程圖
3.本題調試過程
1.
2.
3.
4.經過for循環得到結果5050.
第12周第九次作業:7-2 輸出閏年
1.實驗代碼
int main()
{
int year, i, count=0;
scanf("%d", &year);
if(year<=2000||year>2100)
printf("Invalid year!\n");
else{
for(i=2001; i<=year; i++){
if(i%4==0&&i%100!=0&&i%400!=0){
printf("%d\n", i);
count++;
}
}
if(count==0)
printf("None\n");
}
return 0;
}
2.設計思路
第一步:仔細閱讀作業題目要求,輸入格式及輸出格式。觀察輸出樣例及輸入樣例的數字間是否存在空格。
第二步:定義年份(year),count。
第三步:先用if-else語句判斷輸入的年份是否在21世紀之間,若不是,則輸出"Invalid year!"。
第四步:利用for循環,判斷年份是否為閏年。如果每得到閏年年份,count+1。當count=0時,則證明無閏年,輸出“None”。
第五步:輸出結果。
流程圖
3.本題調試過程碰到問題及解決辦法
一開始我的代碼是這樣的,編譯並沒有報錯。
但當運行時,輸出格式卻顯示錯誤,閏年之間的年份全部都被None代替。
經過上網查詢和同學的幫助,知道了要先定義count,當輸出閏年時count加上1;當count等於0時就說明年份區間沒有閏年,輸出None。同時將if語句嵌套在while語句內。
經過修改后的代碼如下。
進入for循環
判斷年份是否是閏年
每得到一個閏年,輸出閏年,count+1。
最后的輸出結果如下。
第13周第十次作業:7-2 猜數字游戲
1.實驗代碼
#include<stdio.h> int main() { int number, yournumber = 0, n, i = 0; scanf("%d %d", &number, &n); while(i>=0) { scanf("%d",&yournumber); if(yournumber == number) { if(i == 0) { printf("Bingo!"); } else if(i > 0 && i < 3) { printf("Lucky You!"); } else { printf("Good Guess!"); } break; } else if(yournumber > number) { printf("Too big\n"); i++; } else if(yournumber < number && yournumber >= 0) { printf("Too small\n"); i++; } if(i >= n || yournumber < 0) { printf("Game Over"); break; } } return 0; }
2.設計思路
第一步:仔細閱讀作業題目要求,輸入格式及輸出格式。觀察輸出樣例及輸入樣例的數字間是否存在空格。
第二步:定義產生的數字(number),猜測的數字(yournumber),猜測次數(n),及i。
第三步:利用while循環,先分不同情況計算猜對數字時的次數n,輸出不同結果。
第四步:當猜測數字大於或小於被測數字時,輸出不同結果。同時i+1,最后將i與輸入的猜測次數n相比較,輸出不同結果。
流程圖
3.本題調試過程碰到問題及解決辦法
一開始我的代碼是這樣的,編譯並沒有報錯。
當我運行時,輸出僅一次,直接顯示Too small。並不滿足作業的輸出樣例。
調試過程如下
經過上網查找資料,發現其中需要運用到循環的知識,才能實現在一行中輸出每次猜測相應的結果,直到輸出猜對的結果或“Game Over”結束。
經改正,利用while循環可以實現多次猜測結果,最終輸出不同結果。
經過修改后的代碼如下。
調試過程如下。
4.個人總結
(1)在本周的學習當中,我們學習到了循環以及嵌套循環等知識點。無論是for循環,while循環還是do-while循環都有所理解,無論是哪種循環,都有它們存在的意義,能夠使編程更加有速率地完成。同時,也學習到了可以在循環語句中添加printf,通過調試輕松找到程序的錯誤之處。在查詢資料的過程中,不僅鞏固了之前所學習的內容,同時也將這幾周學習的內容更深的理解。
(2)本周我認為嵌套循環這個知識點比較難,不知道在哪里運用到嵌套循環這一知識,通常能夠理解代碼的含義,自己卻沒辦法將代碼編寫出來。這需要我不斷去積累知識,每天練習這個知識點,才能更好地掌握嵌套循環。
5.表格及折線圖
表格
折線圖
6.作業點評
1.https://www.cnblogs.com/wafx/p/9998306.html