C语言I博客作业08
1.作业头
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627 |
这个作业的目标 | 学习更多的知识,明白自己的短板,方便自己更好的学习 |
学号 | 20209119 |
1.PTA实验作业(20分/题)
1.1 题目一
打印九九口诀表 (15分)
下面是一个完整的下三角九九口诀表:
本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。
1.1.1数据处理
数据表达:定义整性变量i,j,n.其中n由用户输入。
数据处理:for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
printf("%d*%d=%-4d",j,i,j*i);
}
printf("\n");
}
1.1.2实验代码截图
1.1.3造测试数据
当n=6时:
当n=9时:
1.1.4 PTA提交列表及说明
答案错误:空行位置不对,同时将%-4d写成-%4d达不到题目的要求
1.2题目二
一钱生多钱 (10分)
在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。
编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。
1.2.1数据处理
数据表达:定义整形变量money,i,j,k。其中money由用户输入。
数据处理:
for(i = 1;i <= money / 5;i++)
{
for(k = 1;k <= money / 2;k++)
{
for(j = 1;j <= money;j++)
{
if(money == i * 5 + j + k * 2)
{
printf("five=%d,two=%d,one=%d\n",i,k,j);
}
}
}
}
1.2.2实验代码截图
1.2.3造测试数据
1.2.4 PTA提交列表及说明
运行超时:写的代码过于冗长使运行时间过长
2.代码互评
同学代码截图1
自己代码截图1
1.该同学使用了一个switch语句,两个for循环,一个if语句而我使用的一个for循环,四个if语句,两份代码都有各自的特色
2.感觉我的代码比他的容易理解,容易让人看懂代码的意思
同学代码截图2
自己代码截图2
1.该同学和我的思路差不多,不过我们在各自代码的一些地方有些不同
2.该同学在for循环中使用的条件很明确,而我使用的是用money来表示
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周10.19-10.25 | 28小时 | 500 | if-else的使用,for循环的使用 ,switch的使用,while和do—while的使用,输出保留几位小数 ,break和continue的使用和区别,输出时四舍五入等 | 对变量的初始化, |
第九周10.26-11.1 | 24小时 | 550 | 多种嵌套,输出时向左向右靠齐等 | 对输出时向左向右靠齐的使用不熟练,对蛇形代码的理解不透彻 |
第十周11.2-11.8 | 26小时 | 500 | 无 | 数组的使用 |
第十一周11.9-11.15 | 30小时 | 550 | 自定义函数的使用,宏定义,两种命名方法 | 二维数组的使用以及宏定义的使用 |
第十二周11.16-11.22 | 32小时 | 600 | 一些算法 | 函数的使用 |
第十三周11.23-29 | 25小时 | 500 | 无 | 无 |
第十四周11.30-12.6 | 23小时 | 450 | 字符串的相关使用 | 字符串的相关问题 |
第十六周12.14-12.20 | 20小时 | 400 | 无 | 无 |
3.2 累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
3.3.2学习体会
- 1.最近一直是在复习,没有太多的去接触新的知识,对我而言,任何东西,基础最重要,现在回过头来看看之前的知识,比第一次接触时要清晰很多,也尝试用后面所学的去解决,对于c语言,当然也还没有接触到最深的那块地方,自知还有很多不足的地方,接下来的时间里我会去一一弥补改正。
- 2.对于如何跳出多重循环:第一可以在循环内部设定一个停止条件;第二增加break;第三使用goto语句(无条件转移语句)goto语通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。但是,在结构化程序设计中一般不推荐使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。