这个作业属于哪个课程 | C语言程序设计ll |
---|---|
这个作业的要求 | (https://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10034) |
我在这个课程的目标 | 能够使用C语言并且灵活运用,可以编写一些小的应用 |
这个作业在哪个具体方面帮我实现目标 | break和continue语句以及循环嵌套 |
参考文献 | 百度、C语言程序设计 |
1.PTA实验作业
7-6 跟奥巴马一起画方块
输入格式:
输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。
输出格式:
输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。
输入样例:
10 a
输出样例:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
数据表达:定义整型变量n,i,j;定义字符型变量c。
数据处理:运用if语句以及for循环嵌套处理
伪代码
定义变量n表示边长,c表示字符,i和j控制循环
输入边长和字符
if(n%2==0) //当n为偶数时
for(i=1;i<=n/2;i++) //n/2行
{
for(j=1;j<=n;j++) //每行n个
{
printf("%c",a);
}
printf("\n");
}
if(n%2!=0) //当n为奇数时
for(i=1;i<=(n+1)/2;i++) //(n+1)/2行
{
for(j=1;j<=n;j++) //每行n个
printf("%c",a); //输出字符c
实验代码
造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 a | aaa/aaaaaa | 边长为6,字符为a |
9 c | aaaaa/aaaaaaaaa | 边长为9,字符为c |
PTA提交列表
编译错误:第六行scanf中%d后面",没有空格
答案错误:忘了输入printf("\n");
7-2 换硬币
输入格式:
输入在一行中给出待换的零钱数额x∈(8,100)。
输出格式:
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。
输入样例: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
数据表达:定义整型变量想x,count,a,b,c
数据处理:利用三重循环来表达
伪代码
for (int a=x/5;a>0;a--) //5fen数量//
for (int b=x/2;b>0;b--) //2fen数量//
for(int c=x;c>0;c--) //1fen数量//
if(a5+b2+c==x)
{
printf("fen5:%d, fen2:%d, fe n1:%d, total:%d\n",a,b,c,a+b+c); 输出5分、2分、1分和总数
count++; //计算换法个数
实验代码
造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
13 | fen5:2, fen2:1, fen1:1, 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 | 方法四种 |
8 | fen5:1, fen2:1, fen1:1,total:3 | 方法一种 |
PTA提交列表
编译错误:忘记定义count初始值count=0
格式错误:14行输出=二边没有空格
2代码互评
我的代码
同学的代码
1.一看上去同学的代码简单多了,然而我的繁琐多了
2.我用了if语句分了奇数,偶数两种情况,同学没有
3.我们都用了二个for循环嵌套处理问题
我的代码
同学的代码
1.同学用了x=(c-2-1)/5这样一个式子来表达5分钱最多情况而我没有而是直接循环
2.由于5分钱的表示不一样,所以有些式子也不一样,同学的包含很多数字
学习总结
周/星期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第四周 | 10h | 50 | hello world | |
第五周 | 4h | 80 | 分段函数 | |
第六周 | 8h | 120 | 华氏温度与摄氏温度转换 | 如何更加快捷转换 |
第七周 | 12h | 180 | if-else语句 | 输入、输出的一些符号 |
第八周 | 9h | 270 | for循环语句 | 小数点位数的保留 |
第九周 | 13h | 400 | 自定义函数 | 表格和图的一些格式问题 |
第十周 | 12h | 550 | 多分支else-if以及字符型 | 一些字符型表示的运算 |
第十一周 | 11h | 680 | switch语句 | 返回值被忽略的问题 |
第十二周 | 13.5h | 815 | while、do-while循环语句 | while、do-while循环语句与某些数学问题的结合使用 |
第十三周 | 11h | 910 | for语句的嵌套、break和continue语句 | for语句说明时候可以省略{} |
时间 | 博客字数 | 代码行数 |
---|---|---|
第六周 | 200 | 50 |
第五周 | 400 | 80 |
第六周 | 650 | 120 |
第七周 | 1450 | 180 |
第八周 | 2100 | 270 |
第九周 | 2700 | 400 |
第十周 | 3200 | 550 |
第十一周 | 3700 | 680 |
第十二周 | 4100 | 815 |
第十三周 | 4600 | 910 |
学习总结和感悟
1.学习了continue语句以及继续了解break语句
2.学会了for循环语句的嵌套
3.学习要能够坚持,希望自己继续努力,学的更好