第一次作业
---恢复内容开始---
一、PTA作业已完成老师布置的任务。
二、博客作业
(一) 分支结构
1.实验代码
#include<stdio.h> int main() { double x,result; scanf("%lf",&x); if(x!=0) { result=1/x; }else { result=0; } printf("f(%.1lf) = %.1lf\n",x,result); return 0; }
2.设计思路
(1)文字描述
第一步:定义 x , result。
第二步:占位并输入x。
第三步:判断x是否为0。
第四步:如果x等于0,输出0;如果x不等于0,输出1/x。
(2)流程图
3.遇到的问题及解决办法
格式错误
printf("f(%.1d) = %.1d\n",x,result)与double语句不符合。
解决办法
提示错误,尝试运行几次发现小数点位数不对,阅读代码解决问题。
(二)循环1
1.实验代码
#include<stdio.h> int main() { int num; int sum = 0; scanf("%d",&num); while(num > 0) { if( (num %2) != 0) { sum += num; } scanf("%d",&num); } printf("%d", sum); return 0; }
2.设计思路
(1)文字描述
第一步:定义num,sum并且sum初值为0.
第二步:占位输入num。
第三步:进入循环,循环条件为num>0,判断num是否可以整除二,可以整除则sum=sum+num。
第四步:输出奇数和。
(2)流程图
3.遇到的问题及解决办法
逻辑错误
发现判断条件发生错误,不符合逻辑
解决办法
判断条件应该为不能整除,在
(num %2) = 0 等于号前加!
(3)循环2
1.实验代码
#include<stdio.h> int main(void) { int n,i,l,min; scanf("%d",&n); scanf("%d",&l); min=l; for(i=1;i<n;i++){ scanf("%d",&l); if(min>l) min=l; } printf("min = %d",min); return 0; }
2.设计思路
(1)文字描述
第一步:定义n,i,l,min。
第二步:占位输入n , l 。min初始值为1,。
第三步:进入循环,循环条件i=1,i<n,i++(不断加1)。
第四步:再输入l。
第五步:再循环,循环条件(min是否大于1),如果min大于1,则min=1;否则输出min的值。
(2)流程图
3.遇到的问题及解决办法
应该为%d, 而打的时候打的%f。
三,总结和学习进度条
1,这几周学习了for,while语句和函数;
2,遇到的问题:float中保留小数几位应用%f,double则用%lf;对于代码的逻辑存在模糊不清,对于复杂问题不会;
3,解决问题:翻阅
4,点评其他同学的博客
(1):点评王文琪的博客
(2),点评李曼的博客
(3).点评苏末然的博客
5,邀请王文琪,李曼,苏末然点评我的博客