作业要求:https://www.cnblogs.com/ranh941/p/7999266.html
第11周第六次作业:7-1 求1到100的和
1、实验代码
#include<stdio.h>
int main()
{
int x,sum;
for(x=1;x<=100;x++){
sum=sum+x;
}
printf("sum = %d",sum);
return 0;}
2、设计思路
首先定义两个变量:x和sum,分别代表每次相加的数字和该数字与之前所有数字的和;
输入条件语句:若x小于等于100,就从一开始每次加一,sum为该数与之前所有数的和;
运行程序后观察输出格式:等号两边是否有空格。
3、流程图
4、调试过程
开始时候虽然程序可以运行出来,但是结果是错的,一直等于1,我又询问了同学才知道是两个等于号错了,两个等于号是赋值的意思,所以结果一直都是1。
之后改成了一个等号,才是等于的意思,结果正确。
第九次作业 7-3 猴子吃桃问题
1、实验代码
#include<stdio.h> int main() { int N,a=1; scanf("%d",&N); while(N>1){ a=(a+1)*2; N=N-1; } printf("%d",a); return 0; }
2、设计思路
1、合理运用逆向思维,由最后的1,慢慢的往前推导;
2、定义一个变量N记为天数,在定义最后桃子的个数等于一;
3、根据题意得出其关系式,应是先加一,再乘二,然后天数减一;
4、经过循环,得出结果。
3、流程图
4、调试过程
试了几次都是错误,每次都是这一句,其实我做题时就感觉这里会错,然后又读了几遍题,发现需要先加一再乘二,
然后就可以运行了,而且结果正确。
第十一次作业 找两个数中最大值
1、实验代码
#include <stdio.h> int max( int a, int b ); int main() { int a, b; scanf("%d %d", &a, &b); printf("max = %d ", max(a, b)); return 0; } int max( int a, int b ){ int max; if(a>b){ max=a; }else max=b; return max; }
2、设计思路
定义a和b,如果a>b,就把a赋值给max;
若果不是就把b赋值给max;
输出max
3、流程图
4、调试过程
程序可以运行,但输入两个不同的数后,无论是什么结果都是0;
检查后发现应是被赋值的数应在等号前面,像我这样写max只会等于他一开始的值,改正之后就运行正确了。
四、个人总结
本周主要学习了循环,个人感觉较难的就是return result循环,有时候有点分不清对接函数,导致函数返回有错误。
我发现我最大的问题就是欠缺了一些计算机思维,经常搞不清应该写什么,还有代码的顺序经常不清楚。
还有嵌套循环的内外差别,什么时候再循环里,什么时候应该跳出循环,执行循环外的语句,也应多加练习。
图表:
回复链接:https://www.cnblogs.com/chen0803/p/10046139.html