C语言I博客作业09

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业09
我在这个课程的目标是 熟悉好break,continue的用法并熟练运用嵌套语句
这个作业在那个具体方面帮助我实现目标 在写pta时对题目的理解并解决上
参考文献 《c程序设计》

1.PTA实验作业

1.1 7-1 打印九九口诀表

下面是一个完整的下三角九九口诀表:
11=1
1
2=2 22=4
1
3=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
1
6=6 26=12 36=18 46=24 56=30 66=36
1
7=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81
本题要求对任意给定的一位正整数N,输出从1
1到NN的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出下三角N
N部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
4
输出样例:
11=1
1
2=2 22=4
1
3=3 23=6 33=9
14=4 24=8 34=12 44=16

1.1.1数据处理

数据表达:我运用了整型变量n, i, j;其中i为行,j为列,n是所输入的数。
数据处理:先对行数用一个for循环,再在这个基础上对列数进行循环,使其不能大于行数,再分别对行数大于列数时和列数大于行数时谁在前进行讨论。
伪代码展示:

include<stdio.h>

int main()
{
定义整型变量n, i, j;
输入n;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++)
{
if (行数乘以列数大于等于10)
{
printf("%d%d = %d ", j, i, j * i);列数在前,行数在后,输出列数乘以行数;
}
else
{
printf("%d
%d = %d ", j, i, j * i)列数在前,行数在后,输出列数乘以行数;
}
}
printf(" ");换行输出;
}
return 0;
}

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
3 11 = 1 12 = 2 22 = 4 13 = 3 23 = 6 33 = 9 1到3的乘法表
2 11 = 1 12 = 2 2*2 = 4 1到2的乘法表

1.1.4 PTA提交列表及说明


多种错误:由于开始没将题目理解透彻,忽视了可能会出现8*6=48这样当行数大于列数时行数仍让在前的类似情况,后加入了if-else的语句进行判断才得以解决。
格式错误:少打了一个空格

1.2

1.2.1 数据处理

数据表达:定义了整型变量N, i, j, num,和字符型变量c;N为输入的边长,c为输入的字符.i和j用于循环
数据处理:伪代码展示:

include <stdio.h>

int main()
{
char c; 定义字符型变量c;N为输入的边长,c为输入的字符,i和j用于循环
scanf("%d %c", &N, &c);
num = N / 2.0 + 0.5;对输入的N进行四舍五入
for (i = 0; i < num; i++)
{
for (j = 0; j < n; j++)
{
printf("%c", c);输出c
}
printf(" ");换行输出
}
return 0;
}

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
4 a aaaa aaaa 正确
3 b bbb bbb 正确

1.2.4 PTA提交列表及说明

由于在编译器上多次编译过了,所以就没出现错误;但在编译器上我也出现了没给2加上个.0的情况,因为它可能是个奇数,所以除出来就会是小数,所以后改为2.0

2.代码互评

同学代码截图

同学代码截图

自己代码截图


1,第一位同学的代码与我的相同之处是在for语句中嵌套了一个for语句,而不同之处就在于他对于输入的数的四舍五入用的是if-else来判断该数除以2是有余数来进行加1的。
2,第二位同学的代码中只定义了两个变量,而且他的嵌套运用的更加灵活,因为他是分奇数偶数判断来进行运算的,我是直接用num = N / 2.0 + 0.5来对奇数进行变偶,在这点上可能我的更简单一些吧

3.学习总结

3.1 学习进度条

日期/周 这周所花的时间/小时 代码行数 学到的知识点 目前比较困惑的地方
第四周 5 68
第五周 6 86
第六周 15 168
第七周 7 127
第八周 20 268 for循环语句 一些符号语句的含义
第九周 24 298 fact语句 符号的含义
第十周 26 324 字符型数据类型和逻辑运算符 部分逻辑运算符的含义
第十一周 20 278 多分支结构switch语句 分支结构内部的区别于联系以及数组
第十二周 28 422 while语句与do-while语句 do-while语句和数组
第十三周 25 287 brerak,continue语句和嵌套式语句 基础知识不牢固

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

  • 这周学习的是break,continue语句,还有嵌套语句的深入学习,时间过得很快,转眼就要大一就要走过一半了,c语言也马上快结课了,我对自己对知识的掌握的程度都还不是和清楚,可能自学的效率比较低吧,很多基本的语句稍微难点的题就不会用了,趁着离程序设计大赛和期末考试还有一段时间,我得好好恶补一下!加油加油!!!
原文地址:https://www.cnblogs.com/FluoxetineX/p/11909254.html