zoukankan      html  css  js  c++  java
  • 第三次随笔作业

    作业要求:https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359

    一.对pta作业的总结

      第11周:这周作业我花时间比较长的是第六次作业的第四题

    
    
    7-4 输出华氏-摄氏温度转换表 (15 分)
    
    

    输入2个正整数lowerupperlowerupper≤100),请输出一张取值范围为[lowerupper]、且每次增加2华氏度的华氏-摄氏温度转换表。

    
    

    温度转换的计算公式:C=5×(F32)/9,其中:C表示摄氏温度,F表示华氏温度。

     
    代码:
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int lower,upper,f;
     5     double c;//定义所需的最高、低的温度,摄氏度、华氏度变量
     6     scanf("%d %d",&lower,&upper);//输入最低、高华氏度温度
     7     if(lower<=upper)//判断输入温度是否合理
     8     {
     9     
    10         f = lower;//将最低温赋予华氏度
    11         printf("fahr celsius");
    12         for (;f <= upper;f = f + 2)//按题要求没次差两华氏度,进行循环
    13         {
    14             c = (f-32)*5/9.0;//计算摄氏度的值
    15             printf("
    %d%6.1f",f,c); //输出华氏度及其对应摄氏度
    16         }
    17     }
    18     else
    19     {
    20         printf("Invalid.");//当输入温度不合理时输出错误
    21     }
    22 }
    
    
    
     
    
    

    流程图:

    调试过程:

    输入合理数:

     ______________________________________________________________________________________________

    输入不合理数:

    错误调试和解决办法:

      这次在输出格式上错了几次,主要是没看懂题什么意思,但我觉得用 进行对齐更加好看合理些。

     第十二周:这周作业我错的次数比较多的是输出闰年

    7-2 输出闰年 (15 分)

    输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。

    代码:
     1  #include<stdio.h>
     2 int main()
     3 {
     4     int year,i;
     5     scanf("%d",&year);
     6     if(year > 2100 || year <= 2000)//判断输入年份是否在21世纪
     7     {
     8         printf("Invalid year!");
     9     }
    10     else
    11     {
    12         if(year <= 2003)//判断年份之前是否有闰年
    13         {
    14             printf("None");
    15         }
    16         for(i = 2004;i <= year;i += 4)//判断循环是否到输入年份
    17         {
    18             if(i % 4 == 0 && i % 100 != 0||i % 400 == 0)
    19             printf("%d
    ",i);
    20         }
    21     }
    22     return 0;
    23 }
    
    
    
    
    

    流程图:

    调试过程:

    输入合理年份:

    ———————————————————————————————————————————————————————————————————————————————————————————————

    输入21世纪年份但之前没有闰年

    ———————————————————————————————————————————————————————————————————————————————————————————————

    输入不是21世纪年份

    错误调试和解决办法:

    这次多数错误是没弄清闰年的定义,和对21世纪年份的理解,其实代码还可以再试着节俭;

    第十三周:这周作业我感觉有点意思的是掉入陷阱的数字

    7-3 掉入陷阱的数字 (15 分)

    对任意一个自然数N0​​,先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N1​​;然后对N1​​重复这种操作,可以产生新自然数N2​​;……多次重复这种操作,运算结果最终会得到一个固定不变的数Nk​​,就像掉入一个数字“陷阱”。

    本题要求对输入的自然数,给出其掉入“陷阱”的过程。

    代码:

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int num,n1 = 0,n2 = 0,i,j = 1;
     5     scanf("%d",&num);
     6     while(num != n1)//查看是否与前一个数相等
     7     {
     8         n1 = num;//将上次计算的数记录下来
     9         for(i = 0,n2 = 0; i < 5; i++)//求每位数和
    10         {
    11             n2 += num % 10;
    12             num /= 10;
    13         }
    14         num = n2 * 3 + 1;    //将数和乘三加一
    15         printf("%d:%d
    ",j,num);//输出第几个数与计算结果
    16         j++;
    17     }
    18     return 0;
    19 }
    
    

     流程图:


    调试过程:













    ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————


    输入只用循环一次的数






    错误调试和解决办法:
    这题主要让我学到了当循环是以重复为退出条件时的简便方法,最早之前我是计算了两次再判断的,但那样会导致判断计算重复。

     二、总结和学习进度条

        这几周没有做太多十分让我烧脑的题,目前在涉及些存储方面的知识,同时深化对c语言基础语句的理解,比如优先级等方面的问题。

      

    点评同学博客链接

    https://www.cnblogs.com/wangxiangbo/p/9948484.html#4123168

    https://www.cnblogs.com/error203/p/9945496.html#4123195

    https://www.cnblogs.com/104gyy/p/9918091.html

  • 相关阅读:
    load custom class in drupal 8
    HEAD in Git
    composer version constraint 版本号前缀
    如何测试
    看待一段数据
    创建一个plugin
    eclipse的快捷方式
    .git文件夹的猜想
    本地可以但远程不行
    方法点不进去的原因
  • 原文地址:https://www.cnblogs.com/moyoujiang/p/9939932.html
Copyright © 2011-2022 走看看