第三次作业

作业要求: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\n", 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

 

                   https://www.cnblogs.com/0224ming/p/9979137.html

                https://www.cnblogs.com/mashihao/p/10017088.html

posted on 2018-12-01 11:03  赵天华2018023954  阅读(168)  评论(4编辑  收藏  举报