1 2 Fork me on GitHub 6

C语言I博客作业08

1.作业头

这个作业属于哪个课程 班级的链接
这个作业要求在哪里 作业要求链接
这个作业的目标 掌握break和continue,实践并运用于循环结构
学号 20208945
1.PTA实验作业

1.1 题目名1
作业7-4 一钱生多钱
在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。
编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。

1.1.1数据处理

数据表达:定义N为要兑换的金额,a,b,c分别为一元,两元,五元,i,j,k,分别为条件判断的方程系数。
         伪代码如下:int a = 1, b = 2, c = 5,N;
                    int i, j, k;

数据处理:伪代码如下:先进行判断然后按顺序输出
        if(N>=8&&N<=100){
    for (k = 0; k <= 2; k++)
        for (j = 0; j <= 5; j++)
            for (i = 0; i <= N; i++)
            {
                if (i*a + j * b + k * c == N)
                {
                    if(k!=0&&j!=0&&i!=0){printf("five=%d,two=%d,one=%d\n", k, j, i);
                    }
                }
            }
    }

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
13 five=1,two=1,one=6 five=1,two=2,one=4 five=1,two=3,one=2five=2,two=1,one=1 成功输出
9 five=1,two=1,one=2 成功输出

1.1.4 PTA提交列表及说明

说明:1.部分正确:输出答案的顺序错误,还有镶套语句顺序错误。
     2.答案正确:进行了改正。

1.2 题目2
PTA作业7-2 打印九九口诀表

1.2.1 数据处理

数据表达:定义N,a,i,分别表示正整数,a,i两个元素相乘。
         伪代码如下:int N,a,i;
数据处理:用for语句循环输出行,进行分行。
         伪代码如下:
        for(i=1;i<=N;i++){
        for(a=1;a<=i;a++){
        printf("%d*%d=%-4d", a, i, i*a);
        }
        printf("\n");
    }

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
4 1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 成功输出正确结果
5 1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 成功输出正确结果

1.2.4 PTA提交列表及说明

说明:1.部分正确:输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐,没有向左对齐
     2.答案正确:改正后正确。

2.代码互评
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

PTA作业7-5 幸运彩票 彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的
同学代码截图

同学代码截图

自己代码截图

对比说明:同学的代码我看不懂啊,同学代码简单,但是涉及的内容非常广泛啊,各种数据库,各种数组……我的代码简单的判断,用%,,计算各种位数数字相加等,代码中我用//解释了三个部分。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周10.19-10.25 8 5 如何打开编译器 我该怎么学习c语言
第九周10.26-11.1 10 54 学会如何提问 c语言怎么才能学好
第十周11.2-11.7 48 138 for语句,数据的类型 为什么作业这么麻烦
第十一周11.8-11.14 51 256 for语句的应用,如何自己定义函数 怎样去理解题意,自己定义的函数如何符合题意去调用
第十二周11/15-11/21 49 528 学习了分支结构,switch语句,以及简单数组定义 如何正确的理解题目意思,怎样解读问题
第十三周11/22-11/28 50 656 学习了分支结构,switch语句,以及简单一维数组 怎样用所学的知识更简单的解决问题
第十四周11/29-12/5 50 656 学习了新的循环结构while语句 怎样用所学的知识更简单的解决问题
第十五周12/5-12/11 78 1026 学习了镶套循环break,continue 为什么老师布置的作业这么难

3.2 累积代码行和博客字数
1.累积代码行:3988
2.博客字数:22418

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会
PTA作业好难啊,为什么作业越来越难,而且都是好多内容我们没学啊,我真的不明白啊, 老师为什么要布置这么难的,没学的内容都要我们自己去查资料,PTA7-3题目那个条件好难读懂啊,这能想到?以键盘输入^Z或遇到文件结束符时结束数据输入。(EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束。在微软的DOS和Windows中,读取数据时终端不会产生EOF。此时,应用程序知道数据源是一个终端(或者其它“字符设备”),并将一个已知的保留的字符或序列解释为文件结束的指明;最普遍地说,它是ASCII码中的替换字符(Control-Z,代码26)。
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。
档案存取或其它 I/O 功能可能传回等于象征符号值 (巨集) EOF 指示档案结束的情形发生。实际上 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF会在编译原始码前展开实际值给预处理器。
C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。)等到讲课的时候又两句就带过了那些没学过的内容,真的很担心考试。继续加油吧,脑袋疼。
课后提问:如何跳出多重循环?

  1. 使用goto
  2. 写成函数 return
  3. 直接修改外层循环条件
  4. 在外层循环设置判断条件
  5. 在大循环后面判断标志加入break
posted @ 2020-12-12 23:23  Drgg  阅读(125)  评论(2编辑  收藏  举报
1