第三次作业

 第三次作业

https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359

第七次作业 7-2求分数序列前n项和

#include<stdio.h>
int main()
{
  int i,n;
  double a,b,item,sum;
  a=2.0;
  b=1.0;
  sum=0;
  scanf("%d",&n);
  for(i=1;i<=n;i++){
    item=a/b;
    sum+=item;
    a=a+b;
    b=a-b;
  }
  printf("%.2f",sum);
  return 0;
}

解题思路:

1、定义两个整数n,i.四个浮点型函数a,b,itemm,sum。

2、在for 循环中由a,b确定item。

3、写出a与b的关系。

4、将所有的item相加,得到sum的值。

流程图

运行结果

出现的问题

在循环中说明分子分母关系时忘记“a”以被赋值为“a+b”,直接让“b”赋值为“a”,导致cuowu。

解决方法:

后通过编译发现问题。

总结

通过这道题,我发现在编程中要排除日常生活中惯性思维的影响,以计算机的思维来编程,

搞清楚计算机的运行步骤,才能减少出错。

第八次作业 7-2寻找250

#include<stdio.h>
#include<math.h>
int main()
{
  int n,count;
  count=0;
  scanf("%d",&n);
  while(fabs(n)<=1000){
    if(n!=250){
    count++;
    scanf("%d",&n);
    }
    else{
    count++;
    break;}
  }
  printf("%d",count);
  return 0;
}

解题思路

1、定义n和count。

2、输入一连串数字。

3、用if-else语句找出250,并输出它是第几个数字。

流程图

运行结果

出现问题

在找到250之后直接输出count的值,使得count的值少一。

解决方法

之后通过思考,发现最后的数250也能把算一个数。

总结

编程要注重细节,刚开始的加一和最后的加一都是必须要考虑的问题,因为错误往往处在这些细节上。

第九次作业 7-2 输出闰年 

#include<stdio.h>
int main()
{
    int i,n,count;
    count=0;
    scanf("%d",&n);
    if(n>2000&&n<=2100){
        for(i=2001;i<=n;i++){
        if((i%4==0&&i%100!=0)||(i%400==0)){
        count++;
        printf("%d\n",i);
            }
        }
    if(count==0)
    printf("None");
    }
    else
    printf("Invalid year!");
    return 0;
 } 

解题思路

1、定义变量i,n,count。

2、通过if判断语句和for循环将21世纪中截至n的闰年年份全部输出。

3、最后判断没有闰年的情况和n不在二十一世纪中的情况。

流程图:

 

出现问题

 未搞清楚判断闰年的条件,以及输出结果何时为None、何时为Invalid year!导致出错。

总结

程序编辑很注重逻辑,一定要在编写之前构思好,脑中有一个大体的思路。

点评博客

1、https://www.cnblogs.com/error203/p/9945496.html

2、https://www.cnblogs.com/zcybky/p/10022913.html

3、https://www.cnblogs.com/1a2B3c4D/p/10017402.html

posted on 2018-11-27 20:07  浦荣成  阅读(195)  评论(3编辑  收藏  举报