zoukankan      html  css  js  c++  java
  • C语言I博客作业09

    这个作业属于哪个课程 C语言程序设计I
    这个作业要求在哪里 作业链接
    我在这个课程的目标是 熟练掌握C语言,能独立完成简单项目,毕业前想做出一个简单的游戏
    这个作业在那个具体方面帮助我实现目标 熟悉break与continue的使用和区别
    参考文献 作业评价标准

    1、PTA实验作业

    1.1换硬币

    问题描述:将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    1.1.1 数据处理

    • 数据表达:定义了5个整型变量,a,b,c分别表示5分,2分,1分硬币的个数,sum表示待换零钱值,count表示换法个数。
    • 数据处理:

    伪代码如下
    定义a,b,c,sum,count;
    输入数据sum;
    for(a=sum/5;a>0;a--)五分硬币个数
    {
    for(b=(sum-a5)/2;b>0;b--)两分硬币个数
    {
    for(c=(sum-a
    5-b2);c>0;c--)一分硬币个数
    {
    if(5
    a+2*b+c==sum)选出符合条件的方案
    计数器
    输出方案
    }
    }
    }
    输出方案个数
    return0;

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    13 见图 样例,正确
    88 见图 随机数,正确

    1.1.4 PTA提交列表及说明


    • 1、输出超限:for语句表达式二有逻辑错误,导致程序死循环,均改成>0后正确。
    • 2、答案错误:忘记换行了。
    • 3、编译错误:加printf换行时没加分号。

    1.2找完数

    问题描述:所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。

    1.2.1 数据处理

    • 数据表达:定义了6个整型变量,m,n代表输入的数据范围,i1表示每一次输入的数据,i2是用来求因子的一个中介数,G表示完数数目,sum表示除本身之外其他因子之和。
    • 数据处理:

    伪代码如下
    定义m,n,i1,i2,G;
    输入取值范围m~n;
    for(i1=m;i1<=n;i1++)逐个处理数据
    定义并初始化值sum=0;
    for(i2=1;i2<i1;i2++) 开始找因子
    if(i1%i20)
    {
    sum=sum+i2; 累加所有因子之和
    }
    if(sum
    i1) 判断是不是完数
    G++; 计数器
    printf("%d = 1",i1); 输出一个类似于表头格式
    for(i2=2;i2<i1;i2++)
    {
    if(i1%i20)
    {
    printf(" + %d",i2);输出每个因子
    }
    }
    printf(" ");换行
    if(G
    0)
    printf("None");如果没有完数就输出None

    1.2.2 实验代码截图


    1.2.3 造测试数据

    输入数据 输出数据 说明
    2 30 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 样例,正确
    50 4001 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 随机数,正确

    1.2.4 PTA提交列表及说明


    • 1、当时忘了定义变量G。
    • 2、没有给G赋初始值,改为G=0后正确。

    2、代码互评

    同学代码

    我的代码

    • 1、同样是循环语句,该同学用的for语句,而我用的while,方法各异,但是结果均正确。
    • 2、该同学以时间T作为判断for循环结束的标准,我以位移S判断是否结束while循环,该同学只用了一个for语句就完成了该题,而我还在while中嵌套了一个if-else语句,所以相比之下,他的更简洁,我的有些拖沓了,还可以进一步改进一点。

    3、学习总结

    3.1 学习进度条

    日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
    10/7--10/13 9+个小时 100+ 编写if-else语句,算术运算与赋值运算规则等 while语句的使用以及适用范围
    10/14--10/20 8+个小时 190+ for的使用,if-else与for的组合使用 while与for的区别
    10/21--10/27 6+个小时 340+ 定义函数与调用 对函数的定义与调用不熟悉
    10/28--11/3 6+个小时 260+ if-else的镶嵌结构 用太多if-else会比较混乱
    11/4--11/10 6+个小时 170+ switch语句的基本运用 switch与if-else的区别
    11/11--11/17 6+个小时 120+ while语句的使用 什么是指针
    11/18--11/24 6+个小时 90+ continue的使用以及其与break的区别 **什么是指针,长度可变数组与长度固定数组的区别和适用情况

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结


    思维导图

    3.3.2 学习体会

    • 答:1、本周学习了continue,以及它和break的区别,PTA的练习很好的促进了我掌握for语句的嵌套结构。
    • 2、临近期末了,心情有点小激动,很想得到自己满意的考试成绩,认可自己付出的时间与努力。
    • 3、学习是一场漫长的旅途,路人会时而激情澎湃,时而枯燥无聊,而学者,会在激情中沉着冷静,在枯燥时燃起斗志。
  • 相关阅读:
    做成像的你不得不了解的真相9-相机制冷温度越低越好么?
    做成像的你不得不了解的真相8-如影随形的噪声(下)
    做成像的你不得不了解的真相8-如影随形的噪声(中)
    做成像的你不能不了解的真相8-如影随形的噪声(上)
    做成像的你不能不了解的真相7-两分钟测算相机增益(Gain)
    做成像的你不能不了解的真相6-分辨率(2)
    做成像的你不能不了解的真相6-分辨率(1)
    做成像的你不能不了解的真相5-图像信噪比计算
    做成像的你不能不了解的真相4-灰度值与电子数
    做成像的你不能不了解的真相3-信噪比2
  • 原文地址:https://www.cnblogs.com/solokill/p/11898262.html
Copyright © 2011-2022 走看看