zoukankan      html  css  js  c++  java
  • C语言I作业08

    一、表格


    问题 答案
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9976
    我在这个课程的目标是 学习好C语言,熟练掌握编译代码的相关技巧,掌握C语言的精髓
    这个作业在那个具体方面帮助我实现目标 学会使用while和do-while结构解决问题
    参考文献 百度,C语言程序设计,《C Primer Plus》

    二、本周作业


    1.PTA实验作业

    1.1 题目名1 求整数的位数及各位数字之和

    题目内容:
    对于给定的正整数N,求它的位数及其各位数字之和。
    输入格式:
    输入在一行中给出一个不超过10^9的正整数N
    输出格式:
    在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
    输入样例:

    321
    

    输出样例:

    3 6
    

    1.1.1数据处理

    数据表达:定义变量count,number,sum;并且把它们都定义为整型变量,开始的时候 count=0;sum=0。
    
    数据处理:运用了while语句,当number!=0的时候进行sum,number,count的运算。
    伪代码:#include<stdio.h>
    int main (void)
    {
        定义整型变量 count,number,sum;
        count=0;(进行赋值)
        sum=0;
        输入number的值;
        while (number不等于零)(while语句进行循环)
         {
            sum=sum+number%10;(用公式进行计算)
            number=number/10;
            count=count+1;
         }
          printf(输出count,sum的值);
         程序结束;
    }
         
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    321 3 6 验证题目所给的数据
    10001 5 2 输入较大的数据进行验证
    11 2 2 验证较小数据

    1.1.4 PTA提交列表及说明

    提交列表说明:

    1.部分正确:将 while (number>0)改为 while (number!=0),将循环体语句修改为sum=sum+number%10;number=number/10;count=count+1;
    2.答案正确:。。。
    说明:在Devc++上实验了很久才发现了原来是自己的循环体出了错误,然后根据提示进行了修改。
    

    1.2 题目2 jmu-c-二进制转10进制

    题目内容:
    输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!
    输入样例1:

    11111111
    

    输出样例1:

    255
    

    输入样例2:

    34
    

    输出样例2:

    error input!
    

    1.2.1 数据处理

    数据表达:定义变量sum,并且定义为整型;定义字符型变量char op;开始的时候sum=0。
    数据处理:开始的时候先运用while语句进行循环接着再运用if-else语句进行结果的计算。
    伪代码:#include<stdio.h>
    int main (void)
    {
       定义整型变量sum=0;
        定义字符型变量char op;
        输入op;
        while(判断输入是否是 回车,不是就进入循环)
        {
            if(op=='
    ')
                break;(如果输入是 回车,就跳出)
            if(op!='0'&&op!='1')(判断输入的是否是二进制数)
            {
                printf("error input!");
                return 0;
            }
            else(输入的数是二进制数)
            {
                sum=sum*2+op-'0'; (用公式进行计算)
            }
            输入字符;
        }
        输出十进制sum的值;
        return 0;
    }
    
        
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    11111111 255 验证题目所给数据1
    34 error input! 验证题目所给数据2
    11 3 随机验证一组数据

    1.2.4 PTA提交列表及说明

    提交列表说明:

    1.部分正确:在 printf("error input!");后面增添上语句 return 0;把printf("%d",sum);放到最后一个return 0上面。
    2.答案正确:。。。
    

    2.代码互评

    同学代码一:

    自己代码一:

    代码比较:

    1.我与同学定义的变量有点不一样,我比她多定义了一个变量h是为了算高度。
    2.我们俩个的算的思路有一点不一样,同学的是用n去减去爬的高度,而我用的是爬的高度与输入n进行比较,所以算的过程有点不一样。
    

    同学代码二:

    自己代码二:

    代码比较:

    1.刚看到同学的代码的时候感觉到很震惊,跟他相比感觉自己跟别人的差距有点大啊,他运用了好多知识点。
    2.他运用了字符型,switch语句,还运用了while的语句,可以看出来同学很好的把最近所学的东西都联系起来了,而我运用了字符型,while语句以及if-else语句,相对同学来说没有那么高级。
    

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周(9.19-3.27) 四天 40 Hello world编程和Markdown语法 对待大部分内容都不理解
    第二周(9.25-10.4) 四天 35 华氏度与摄氏度的转换 不理解数据类型
    第三周(10.8-10.11) 三天 90 if-else语句、格式化输入语句 分不清整型变量和浮点型变量
    第四周(10.15-10.17) 三天 100 有关for循环体的运用 有时候不清楚循环体是什么
    第五周(10.22-10.25) 三天 130 使用自定义函数来编程和生成乘方表和阶乘表 不知道如何调试函数以及在哪里设置断点
    第六周(10.30-11.2) 四天 180 分支结构、字符型数据类型 对待字符型题目还是不能够准确理解
    第七周(11.06-11.08) 三天 190 学会多分支结构switch语句的使用 有时不能准确理解case后的有些语句
    第八周(11.13-11.15) 三天 200 学会使用while和do-while结构解决问题 不能准确判断while的循环条件

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    1.这一周我们学习了while语句以及do-while语句的运用,以及在使用while语句的注意事项,和for语句的比较。
    2.while语句的表达式为:while(表达式) 循环体语句; do-while语句的表达式为"do{" "循环体语句" "}while(表达式);"
    3.在写作业时有时不能准确判断while语句中表达式的判断条件,有时会判断错误。

  • 相关阅读:
    Mac实用快捷键大全
    Java 12 新特性概述
    java sdk官网直接下载地址
    使用SqlBulkCopy类实现导入excel表格
    框架页面高度自动刷新Javascript脚本
    从MyEclipse到IntelliJ IDEA ——让你脱键盘,全键盘操作
    带你走进EJB--将EJB发布为Webservice(1)
    带你走进EJB--将EJB发布为Webservice(2)
    poj 3042 Grazing on the Run
    算法导论:比较排序算法笔记
  • 原文地址:https://www.cnblogs.com/xuxinxin/p/11858169.html
Copyright © 2011-2022 走看看