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

    这个作业属于哪个课程 这个作业要求在哪里 我在这个课程的目标是 这个作业在哪个具体方面帮助我实现目标 参考文献
    C语言程序设计II https://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/9980 熟练掌握程序语言的编写,了解各种函数的应用。 掌握break和continue语句 百度百科

    1.PTA实验作业

    1.1下面是一个完整的下三角九九口诀表:

    1*1=1   
    1*2=2   2*2=4   
    1*3=3   2*3=6   3*3=9   
    1*4=4   2*4=8   3*4=12  4*4=16  
    1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
    1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
    1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
    1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
    1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  
    

    本题要求对任意给定的一位正整数N,输出从1*1N*N的部分口诀表。

    内容描述: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

    1.1.1数据处理

    数据表达:定义整形变量 N,i,j其中i,j用于循环条件,N用于确定输出行数。
    伪代码:定义i,j
    输入行数N的格式
    for(i=1;i<=N;i++)后面数字的循环
    for(j=1;j<=i;j++)前面数字的循环
    printf("%d*%d=%-4d",j,i,i*j);数字相乘并输出
    printf("\n");输完一行进入下一行
    

    1.1.1 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    4 11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16 题目说明
    2 11=1 12=2 2*2=4 简短运算

    1.1.4PTA提交列表及说明

    编译错误:%-4d其含义是输出格式为整形,长度为4,左对齐;最开始没有明白这个

    答案错误:&N我写成&n,没有区分大小写,三个答案错误都是没找到这个细节错误

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

    输入格式:

    输入在一行中给出待换的零钱数额x∈(8,100)。

    输出格式:

    要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。

    1.2.1 数据处理

    数据表达:首先定义整形变量b,n,x,total,count,其中分别代表5分,2分,1分硬币,零钱数额,硬币总数
    伪代码:定义b, n, m, x, total, count=0;
    给硬币总数x输入格式
    for(b=x/5; b>0; b--)五分硬币的循环
    for(n=x/2; n>0; n--)两分硬币的循环
    for(m=x; m>0; m--)一分硬币的循环
    if(b*5+n*2+m==x)printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n", b, n, m, b+n+m);符合条件输出总数
    printf("count = %d", count),最后一行输出“count = 换法个数”
    

    1.1.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    13 fen5:2, fen2:1, fen1:1, total:4 fen5:1, fen2:3, fen1:2, total:6 fen5:1, fen2:2, fen1:4, total:7 fen5:1, fen2:1, fen1:6, total:8 count = 4 题目给出
    9 fen5:1, fen2:1, fen1:2, total:4 count = 1 随机

    1.2.4 PTA提交列表及说明

    这道题是在devc++上面编译的所以是正确的,简单来说一说我遇到的问题,最开始不知道怎么输出换法个数,后面仔细看了题目才知道,for循环的时候硬币数目是逐渐减少的。

    2.代码互评

    2.1同学代码截图

    2.2自己代码截图

    1、我只用了while,同学用的是do-while
    2、同学用了嵌套语句用break跳出循环,而我只用了while语句
    3、同学用了2个if嵌在while里面,我只用了1个if,我的更为简洁

    3.1 学习进度条

    周数/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第四周/10-17 约5小时 300行左右 “for”循环结构语句的基本使用 对循环结构的使用不熟练。
    第五周/10-24 约4小时 280行左右 定义函数的使用 对pta上的作业题目很难读懂意思
    第六周/10-31 约5小时 350行左右 逻辑表达式 关系表达式 听课听得懂 做题不会做
    第七周/11-6 约5小时 300行左右 switch语句,char数据类型 题目大致能看懂,细致末梢难以处理
    第八周/11-13 约6小时 350行左右 熟悉使用while和do-while结构解决问题。 结构的运用
    第九周/11-21 约7小时 400行左右 区别break与continue语句 对数学知识头疼

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    长风破浪会有时,直挂云帆济沧海!在学习的过程中难免会遇到困难但是我们要不畏惧困难 要努力克服学习上的困难,c语言的学习需要夜以继日的练习,不然很容易生疏。这周又学习了新的综合程序设计分支结构,还有char数据类型,switch语句,以及break的使用,收获颇丰,虽然感觉还是挺难得,但是也很有趣。这一个月学习的最多的就是for while if-else break continue等语句, 哪一步设置循环,循环结束的条件是什么,嵌套循环怎么使用都是这个月学习的难点,感觉做pta需要数学基础,不然题目都可能看不懂。

  • 相关阅读:
    docker仓库与网络
    docker镜像制作
    docker基础
    redis5.* 集群构建,扩容,收缩
    qt moc 文件添加失败
    两台虚拟机可以ping通 但是connect失败
    QtWidget坐标
    QT Widget 重绘
    QT获得 中文字串显示在界面上的像素宽度
    QT如何获取 含有汉字的QString 长度
  • 原文地址:https://www.cnblogs.com/ztxztx/p/11905741.html
Copyright © 2011-2022 走看看