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=='\n')
            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语句中表达式的判断条件,有时会判断错误。

posted on 2019-11-15 21:21  欣欣以向荣  阅读(303)  评论(9编辑  收藏  举报

导航