第三次作業 第三次作業
第三次作業
部落格連結:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360
一(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 初始值為0
i的初始值為1
用到計數迴圈每次迴圈內執行一次sum=sum+i
等到等於了100以結束迴圈輸出sum
(3)流程圖
二(2)程式碼
#include <stdio.h> int main(void) { int temp, sum = 0; scanf("%d", &temp); while (temp > 0) { if (temp % 2 == 1) { sum += temp; } scanf("%d", &temp); } printf("%d\n", sum); return 0;
}
(2)解題思路
先定義兩個整形變數
輸入一個整數賦值給temp
執行while迴圈,當temp大於零才執行此迴圈
每次迴圈都要執行一次判斷
當輸入的這個整數除以2餘數為零證明這是偶數執行語句sum=temp+sum
迴圈內執行下一條語句輸入一個整數給sum
當迴圈結束後輸出sum的值
(3)流程圖
三(1)程式碼
#include<stdio.h> int main() { int M, N, i, n = 0, j, x = 0; scanf("%d %d",&M, &N);for(i = M; i <= N; i++) { for(j = 2; j < pow(i, 0.5); j++) { if(i % j == 0) { break; } } if(j > pow(i,0.5) && i != 1) { n++; x += i; } } printf("%d %d",n,x); return 0; }
(2)解題思路
先定義6個變數,並定義兩個變數的初始值
輸入兩個整數賦值給MN
執行迴圈使M的初始給i本迴圈每次使+一
迴圈內在巢狀計數迴圈使j初始值為2每次迴圈使i+1
當j風雨或者大於i的0.5次方以後停止迴圈
本迴圈裡如果j除以i風雨0跳出本曾迴圈
第一次裡迴圈裡添加了判斷語句
最後輸出n與X的值
(3)流程圖
除錯過程中遇到的問題及方法
編譯過程程式出現崩潰現象
原來是沒有給賦值符號
四個人總結
本週主要迴圈語句的學習,難度比之前學的的知識點更大,平時在編碼是等於時更偏向於for迴圈以及while,其他人更
習慣優先考慮條件。其次是在做題時應該先理清運算順序,由區域性到整體。這樣思路會更加清晰了。
五 程式碼行數及部落格字數
評論連結
1https://www.cnblogs.com/chumengGTRlhz/p/9991154.html
2https://www.cnblogs.com/kaitbkleyue/p/10043349.html
3https://www.cnblogs.com/mashihao/p/10017088.html
部落格連結:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360
一(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 初始值為0
i的初始值為1
用到計數迴圈每次迴圈內執行一次sum=sum+i
等到等於了100以結束迴圈輸出sum
(3)流程圖
二(2)程式碼
#include <stdio.h> int main(void) { int temp, sum = 0; scanf("%d", &temp); while (temp > 0) { if (temp % 2 == 1) { sum += temp; } scanf("%d", &temp); } printf("%d\n", sum); return 0;
}
(2)解題思路
先定義兩個整形變數
輸入一個整數賦值給temp
執行while迴圈,當temp大於零才執行此迴圈
每次迴圈都要執行一次判斷
當輸入的這個整數除以2餘數為零證明這是偶數執行語句sum=temp+sum
迴圈內執行下一條語句輸入一個整數給sum
當迴圈結束後輸出sum的值
(3)流程圖
三(1)程式碼
#include<stdio.h> int main() { int M, N, i, n = 0, j, x = 0; scanf("%d %d",&M, &N); for(i = M; i <= N; i++) { for(j = 2; j < pow(i, 0.5); j++) { if(i % j == 0) { break; } } if(j > pow(i,0.5) && i != 1) { n++; x += i; } } printf("%d %d",n,x); return 0; }
(2)解題思路
先定義6個變數,並定義兩個變數的初始值
輸入兩個整數賦值給MN
執行迴圈使M的初始給i本迴圈每次使+一
迴圈內在巢狀計數迴圈使j初始值為2每次迴圈使i+1
當j風雨或者大於i的0.5次方以後停止迴圈
本迴圈裡如果j除以i風雨0跳出本曾迴圈
第一次裡迴圈裡添加了判斷語句
最後輸出n與X的值
(3)流程圖
除錯過程中遇到的問題及方法
編譯過程程式出現崩潰現象
原來是沒有給賦值符號
四個人總結
本週主要迴圈語句的學習,難度比之前學的的知識點更大,平時在編碼是等於時更偏向於for迴圈以及while,其他人更
習慣優先考慮條件。其次是在做題時應該先理清運算順序,由區域性到整體。這樣思路會更加清晰了。
五 程式碼行數及部落格字數
評論連結
1https://www.cnblogs.com/chumengGTRlhz/p/9991154.html
2https://www.cnblogs.com/kaitbkleyue/p/10043349.html
3https://www.cnblogs.com/mashihao/p/10017088.html