第一次作业
#include<stdio.h>int main() { float x,y; scanf("%f",&x); if(x!=0) { y=1/x; printf("f(%.1f) = %.1f",x,y); } else { printf("f(%.1f) = 0.0",x,y); } }
这是分支结构的计算分段函数[1],以上是正确答案
基本思路是,第一步我们应该知道得数会是一个小数,所以我们需要用float,而不是int,第二部我们发现此题是一个分段函数,所以应该考虑到用if-else语句,这道题我们可以将他分成两段,所以不用考虑if-else if-else语句,根据题目要求我们就可以得到我们想要的答案。
流程图如下
这是第一次完成的程序,但是出现了错误,是因为else的后面不能加修饰的句子
所以进行了一次修改,但是忽略了结果会是小数的可能性,用了%d,这样答案就会是0,所以我立刻改成了float浮点数,最后结果正确了
二.
#include<stdio.h> int main() { int i; int sum=0; for(i=1;i<=100;i++) { sum=sum+i; } printf("sum = %d",sum); return 0; }
这是循环1,7-6求1-100的和的正确答案
这道题的基本思路是,第一步设置一个变量i,sum,把sum的初始值设成是0,第二部运用for循环语句,将i从1加到100,第三步,输出sum的值
流程图如下:
第一次做这道题的时候,我没有设sum的初始量,虽然编译的结果是对的,但是运行的结果是5051,而不是正确结果5050.最后即使改正错误,做出了正确答案
三
#include<stdio.h>
int main()
{
int number,temp,i=0,sum=0;
scanf("%d",&number);
temp=number;
while(temp)
{
sum+=temp%10;
temp/=10;
i++;
}
printf("%d %d\n",i,sum);
return 0;
}
这是循环2,7-3求整数的位数及各位数字的和
这道题的基本思路是:第一步:设num,i,sum,temp为变量,其中i=0,sum=0,temp是任意变量,第二步:使用while循环,while循环中包括(sum+=temp%10;temp/=10;i++;)最后输出答案。
第一次做出来的程序的错误是因为while语句后面没有语句,之后我及时修改成功,完成了这道题
流程图如下:
三.总结学习和进度条
1.这几周学习了循环和函数,学了很多知识,但是遇到的问题也非产多,比如在学习循环是会考虑不到应该怎么样才能是现实循环结构,有时候不知道应该用哪种循环语句,总是会混淆。在学习函数的时候遇到的问题就更多了,因为学习函数的时候还会涉及到之前学过的知识,由于之前的基础没有打牢,所以听起来会有一些吃力。主观原因还有自己的代码量不是太多,没有很好的了解C语言这门课程,还没有真正的了解它的套路,和学习它的方法。有时候甚至会看不懂一些程序,但是我会请教一些学长,或者查一些学习资料,我应该找个机会多了解这门语言,尽快的适应它的规律,来更好的问我打好基础。
2.https://www.cnblogs.com/congziqi123/p/10028452.html 丛梓祺
https://www.cnblogs.com/zyn-66/p/9984819.html 章宇楠
https://www.cnblogs.com/wsaldh/p/10020798.html 梁德辉
我邀请丛梓祺,陈清涛,章宇楠来邀请
本周 | 代码量 | 知识点 |
上周 | 30 | 循环 |
上周 | 50 | 函数 |