作業要求【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359】
第六次作業 7-1 求1到100的和
#include<stdio.h> int main() { int i,sum; sum=0; for(i=1;i<=100;i++){ sum=sum+i; } printf("sum = %d",sum); return 0; }
第一步:聲明兩個整形變量i,sum。
第二步:將sum變量賦值為0。
第三步:令i=1,判斷如果i<=100的話,那么進行sum=sum+i。i=i+1。然后再次判斷條件。
第四步:輸出sum的值。
流程圖
調試截圖
一開始沒有加上sum初始值為0,所以加上的和怎么也不對
知道錯誤后,加上之后結果便對了。這個錯誤很容易犯。
程序運行截圖
這回運行后結果便正確了。
個人總結和遇到的問題
這是一些基礎的for循環問題,我最多並且最喜歡用的循環就是for循環,因為他能把事情很簡單化,直觀辨別出你的循環次數,很適合我們這些初學者。在慕課網上學習了數組,數組遠比我想象的難,你有的時候需要去遍歷數組,遍歷就是將數組中的每一個元素都賦值或者其他。數組可以解決數量龐大的數,但是我依舊不太理解數組的運用。
第9次作業 題目7-2 輸出閏年
#include<stdio.h> int main() { int a=0,i=2000; scanf("%d",&a); if(a<i){ printf("Invalid year!"); } else{ while(i<=a){ if(a>2100){ printf("Invalid year!"); break; } else if(a>=2004){ i++; if(i%100!=0){ if(i%4==0){ printf("%d\n",i); } } else if(i%400==0){ printf("%d\n",i); } } else{ printf("None"); break; } }} return 0; }
第一步:定義兩個整形變量i,a。並將i賦值為2000,a賦值為0.
第二步:輸入一個數,將這個數賦值給a。
第三步:進行判斷,如果a小於i的話,那么跳轉第六步。否則執行第四步。
第四步:進行判斷,判斷i是否小於等於a,如果為真,那么進行第五步,否則結束語句。
第五步:進行判斷,如果a大於2100,跳轉第六步,如果a大於等於2004的話,執行第七步。否則的話,執行第八步。
第六步:輸出Invalid year!這句話,結束循環。
第七步:令i=i+1,並且進行判斷,如果不是100的倍數並且是4的倍數,那么輸出這個年份,如果是400的倍數,也輸出這個年份。
第八步:輸出None,並且結束循環。
流程圖
程序運行截圖
換了另一個數進行依然可以
程序調試截圖
雖然運行正確,但是當我自己修改下程序的話,就會發現400的倍數也是閏年,雖然題目中400的倍數不輸出,但是我認為應該加上那行代碼。
這是加上后的代碼
加上后代碼調試的結果,沒有什么錯誤,但是加上我認為程序會更完美。
個人總結和遇到的問題
整體大多數的代碼都可以做出來,但是代碼比較復雜,我應該多加聯系來簡化代碼,這樣才能使程序清晰並且流暢運行。這周學到的ascll碼我認為很有用,ascll碼可以輸入或者輸出一些我們難以想象的字符。
第10次作業 題目 7-1 統計素數並求和
#include<stdio.h> int main() { int a,b,i,n,count=0,sum=0; int flag=1; scanf("%d %d",&a,&b); for(i=a;i<=b;i++){ for(n=2;n<i;n++){ flag=1; if(i%n==0){ flag=0; break; } } if(flag==1&&i!=1){ count++; sum=sum+i;} } printf("%d %d",count,sum); return 0; }
第一步:定義六個整形變量a,b,i,n,count,sum,flag。並將count,sum賦值為0,flag賦值為1;
第二步:輸入兩個值,分別賦值給a,b。令i=a
第三步:進行判斷,如果i<=b,執行第四步,否則,執行第六步。
第四步:令n=2,進行判斷n<i是否成立,如果成立的話將flag賦值為1,如果不是素數,那么就將flag賦值為0然后結束循環;
第五步:判斷如果flag等於1,並且i不等於1,那么就是素數,count加1,將這個數加進sum里。然后再次返回第三步。
第六步:輸出count,sum的值。
流程圖
程序運行截圖
但是當我輸入1和2時,結果本應該是1和2,但是卻不對
隨后我便進行了調試
程序調試截圖
我發現了錯誤,我的程序把1也當成了素數,我便加了一個條件
運行結果便正確了
個人總結和遇到的問題
這周學習了指針,指針是指向一個地址,指針是數組的特殊形式,也可以在指針里定義一個字符串。代碼還是不夠簡便,需要多加鍛煉。
我認為代碼是越簡單越好,但是也不能過於簡單,像是定義變量定義a,b,c之類的,會讓看代碼的人不了解是什么意思,現在也是我的習慣,我也需要改一下。
總結圖表
點評博客【https://www.cnblogs.com/error203/p/9945496.html】