第三次作业

【作业要求】:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360

第11周第六次作业:7-1 求1到100的和

1.实验代码

#include<stdio.h>
int main()
{
  int i,sum;
  
  sum = 0;
  for(i=1;i<=100;i++){
    sum = sum+i;
  }
  printf("sum = %d\n",sum);
  return 0

2.设计思路

第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格。

第二步:定义相加和(sum),与数字(i)。

第三步:利用for循环,循环求和得出相加数的大小。

第四步:输出结果。

流程图

3.本题调试过程

1.

2.

3.

4.经过for循环得到结果5050.

 

 

 

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

 

1.实验代码

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

 

2.设计思路

第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格。

第二步:定义年份(year),count。

第三步:先用if-else语句判断输入的年份是否在21世纪之间,若不是,则输出"Invalid year!"。

第四步:利用for循环,判断年份是否为闰年。如果每得到闰年年份,count+1。当count=0时,则证明无闰年,输出“None”。

第五步:输出结果。

流程图

 

3.本题调试过程碰到问题及解决办法

一开始我的代码是这样的,编译并没有报错。

但当运行时,输出格式却显示错误,闰年之间的年份全部都被None代替。

经过上网查询和同学的帮助,知道了要先定义count,当输出闰年时count加上1;当count等于0时就说明年份区间没有闰年,输出None。同时将if语句嵌套在while语句内。

经过修改后的代码如下

进入for循环

判断年份是否是闰年

每得到一个闰年,输出闰年,count+1。

最后的输出结果如下。

 

 

第13周第十次作业:7-2 猜数字游戏

 

1.实验代码

#include<stdio.h>
int main()
{
    int number, yournumber = 0, n, i = 0;
    scanf("%d %d", &number, &n);
    while(i>=0)
    {
        scanf("%d",&yournumber);
        if(yournumber == number)
        {
            if(i == 0)
            {
                printf("Bingo!");
            }
            else if(i > 0 && i < 3)
            {
                printf("Lucky You!");
            }
            else
            {
                printf("Good Guess!");
            }
            break;
        }        
        else if(yournumber > number)
        {
            printf("Too big\n");
            i++;
        }
        else if(yournumber < number && yournumber >= 0)
        {
            printf("Too small\n");
            i++;
        }
        if(i >= n || yournumber < 0)
        {
            printf("Game Over");
            break;
        }
        
    }
    return 0;
}

2.设计思路

 

第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格。

第二步:定义产生的数字(number),猜测的数字(yournumber),猜测次数(n),及i。

第三步:利用while循环,先分不同情况计算猜对数字时的次数n,输出不同结果。

第四步:当猜测数字大于或小于被测数字时,输出不同结果。同时i+1,最后将i与输入的猜测次数n相比较,输出不同结果。

流程图

3.本题调试过程碰到问题及解决办法

一开始我的代码是这样的,编译并没有报错。

当我运行时,输出仅一次,直接显示Too small。并不满足作业的输出样例。

调试过程如下

经过上网查找资料,发现其中需要运用到循环的知识,才能实现在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”结束。

经改正,利用while循环可以实现多次猜测结果,最终输出不同结果。

经过修改后的代码如下。

调试过程如下。

 

 

4.个人总结

(1)在本周的学习当中,我们学习到了循环以及嵌套循环等知识点。无论是for循环,while循环还是do-while循环都有所理解,无论是哪种循环,都有它们存在的意义,能够使编程更加有速率地完成。同时,也学习到了可以在循环语句中添加printf,通过调试轻松找到程序的错误之处。在查询资料的过程中,不仅巩固了之前所学习的内容,同时也将这几周学习的内容更深的理解。

(2)本周我认为嵌套循环这个知识点比较难,不知道在哪里运用到嵌套循环这一知识,通常能够理解代码的含义,自己却没办法将代码编写出来。这需要我不断去积累知识,每天练习这个知识点,才能更好地掌握嵌套循环。

 

 

5.表格及折线图

 表格

 

折线图

 

6.作业点评

1.https://www.cnblogs.com/wafx/p/9998306.html

2.https://www.cnblogs.com/chumengGTRlhz/p/9991154.html

3.https://www.cnblogs.com/mayijing/p/10017399.html

posted @ 2018-11-29 12:38  晚笙  阅读(322)  评论(11编辑  收藏  举报