第1次作业
分支结构
#include<stdio.h> #include<math.h> int main() { float x,y; scanf("%f",&x); if(x==0) { y=0.0; }else { y=1/x; } printf("f(%.1f) = %.1f",x,y); return 0; }
这是求分段函数值的一道题
看到这道题首先我的思路是分段怎样能分,于是我选择了if else语句,这样就能分段计算,于是我开始定义变量因为题目输出出现了小数,所以定义是使用了float,scanf后总是少了&地址符号所以跑程序的时候总是出现不了答案直接显示程序终止所以每次出现程序终止,我第一反应是否写了&,if()等等号要为==,后直接把题目中的问题打入 ,因为题目输出保留了一位小数,所以输出时要为.1f
#include<stdio.h> int main() { float average,i,N,a,sum=0; int count=0; scanf("%f",&N); if(N==0) { printf("average = 0.0\n"); printf("count = 0"); }else{ for(i=0;i<N;i++) { scanf("%f",&a); sum = sum + a; if(a>=60) { count++; } } average = (float)sum / (float)N; printf("average = %.1f\n",average); printf("count = %d\n",count); return 0; } }
这道题是循环一的一道题目
第一步还是看题目,应该是循环给了具体值所以应该使用for循环,因为要计算人数所以我认为需要一个计数器就是count,然后定义一个人数,和一个循环变量,写出for循环 ,其中包含一个if语句
if语句是为了定义60分以上时count++,在这个地方犯了一个小错误,就是我只写了>60,所以最后输出的时候只输出了3个及格的。接下来就是求average,在这心思了好一阵没想出来怎么求和,后来问了别人才想起来应该定义 sum在sum+分数,最后再输出就好啦。
这是循环二的一道题
#include<stdio.h> int main() { int n,a,i,min; scanf("%d%d",&n,&a); min=a; for(i=1;i<n;i++) { scanf("%d",&a); if(min>a) { min=a; } } printf("min = %d",min); return 0; }
思路同样是看题 是一道循环题有具体数值所以还是选择使用for循环在其中加一个if语句输出min。
1.在这几个周的学习中主要是完成了c语言循环和函数两个方面,我最大的问题就思路上不来,看了题不知道如何下手,还有上课内容记忆较少,课下代码训练较少,我认为这些问题还是题做得太少应该在老师布置的作业之外自己在进行一些习题训练加强记忆。在循环方面只有for语句用的较多,而忽略了while 还有do while语句应该在有些问题下我们使用了for语句还可以使用while,dowhile语句进行解答。函数问题主要是不太清楚什么情况下用什么函数和都有哪些函数他们的要求是什么。希望在接下来的日子里能在课堂之外自学一些内容来加强自己的知识,和整清楚自己存在的问题,并能在实际的问题中进行运用。
2点评作业
章宇楠
https://www.cnblogs.com/zyn-66/p/9984819.html
梁德辉
https://www.cnblogs.com/wsaldh/p/10020798.html
张虹泽
https://www.cnblogs.com/kaitongbokebokeyuan/p/10034293.html
3