C语言I博客作业09
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I博客作业09 |
我在这个课程的目标是 | 熟练掌握C语言 |
这个作业在哪个具体方面帮助我实现目标 | 熟练掌握了for循环,学会了break语句和continue语句 |
参考文献 | Markdown基本语法 |
一.PTA实验作业
1. 跟奥巴马一起画方块
题目内容描述:美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
输入格式:
输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。
####### 输出格式:
输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。
输入样例:
10 a
输出样例:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
(1)数据处理
数据表达:
用了整形变量 n,i,j;和字符型变量 a;
n代表正方形的边长
j,i分别用来表示两个控制变量
数据处理:伪代码
当n为偶数时,需要打印 n / 2 行,每行 n 个字符;
当n为奇数时,题目说四舍五入取整,也就是说需要打印(n+1)/ 2 行,每行n个字符
开始
int n,i,j;//输入整型变量n,i,j
char a;//字符型变量a
scanf("%d ",&n);
scanf("%c",&a);
if(n%2==0) //当n为偶数时
for(i=1;i<=n/2;i++) //需要打印n/2行,循环n/2次
{
for(j=1;j<=n;j++) //每行n个字符
{
printf("%c",a);//输出a
}
printf("\n");//换行
}
if(n%2!=0) //当n为奇数时
for(i=1;i<=(n+1)/2;i++) //需要打印(n+1)/2行,循环(n+1)/2行
{
for(j=1;j<=n;j++) //每行n个字符
{
printf("%c",a);//输出a
}
printf("\n");//换行
}
return 0;
}
(2)实验代码截图
(3)造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 a | aaaaa aaaaa aaaaa | 边长长为5a,宽为3a的方块 |
6 a | aaaaaa aaaaaa aaaaaa | 边长长为6a,宽为3a的方块 |
4 a | aaaa aaaa | 边长长为4a,宽为2a的方块 |
(4)PTA提交列表及说明
提交列表说明
1.编译错误:第8行中少了一个=
2.编译错误:第17行中少了一个!
3.答案正确:在第8行上加一个=,在第17行中加一个!
2.打印九九口诀表
题目内容描述:下面是一个完整的下三角九九口诀表:
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=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,输出从11到N*N的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
4
输出样例:
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)数据处理
数据表达:用了整型变量N,i,j
N代表任意给定的一位正整数
i和j分别表示九九乘方表中的数字
数据表达:伪代码
开始
int main()
{
int N;//输入整型变量N
int i,j;//输入整型变量i,j
scanf("%d",&N);
for(j=1;j<=N;j++)//输出N行,循环N次
{
for(i=1;i<=j;i++)//每行j个
printf("%d*%d=%-4d",i,j,i*j);//输出i,j,i*j
printf("\n");//换行
}
}
(2)实验代码截图
(3)造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 1*1=1 | 输出到1的口诀表 |
2 | 11=1 12=2 2*2=4 | 输出从1到2的部分口诀表 |
3 | 11=1 12=2 22=4 13=3 23=6 33=9 | 输出从1到3的部分口诀表 |
(4)PTA提交列表及说明
提交列表说明
1.编译错误:第6行括号中没有加,
2.部分正确:第10行没有写i*j
3.部分正确:第10行没有写i*j
4.全部正确:在第6行中加, 第10行中加i*j
二.代码互评
同学代码:
自己代码:
比较
(1)第一份代码用了double浮点型和char字符型,结构上该同学的更加整洁美观,也更容易懂。
(2)第二份的代码用了char op字符型变量,而我用的char 定义不同,他用到了if-else,而我只用了if。
(3)第一份代码行只有16行,而我有27行,他的比我的更加简单,也节省空间。
三.学习总结
1.学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第四周 | 7小时 | 100行 | 在屏幕上显示Hello World! | 无 |
第五周 | 8小时 | 100行 | 求华氏温度对应的摄氏温度 | 无 |
第六周 | 21小时 | 400行 | 如何用 MinGW-w64 来编译C程序 | 无 |
第七周 | 24小时 | 478行 | 运用if语句完成各种数学程序 | 对于&&的用法不了解,现在操作不熟练 |
第八周 | 20小时 | 349行 | 掌握使用for循环语句实现指定次数的循环程序设计 | 无 |
第九周 | 23小时 | 264行 | 学会使用自定义函数 | 目前不太熟练 |
第十周 | 22小时 | 167行 | 熟悉多分支结构、字符型数据类型和逻辑运算符 | 还没有完全熟悉 |
第十一周 | 18小时 | 150行 | 熟悉多分支结构switch语句的使用 | 无 |
第十二周 | 16小时 | 130行 | 熟悉使用while和do-while结构解决问题 | 目前还不太熟练 |
第十三周 | 15小时 | 120行 | 熟悉使用for结构,了解并掌握了break语句和continue语句 | 目前还不太熟练continue语句 |
2. 累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第四周 | 525 | 50 |
第五周 | 645 | 100 |
第六周 | 645 | 400 |
第七周 | 2659 | 478 |
第八周 | 3586 | 597 |
第九周 | 4769 | 698 |
第十周 | 5897 | 787 |
第十一周 | 6289 | 897 |
第十二周 | 7594 | 1056 |
第十三周 | 8679 | 1170 |
3 .学习内容总结和感悟
(1)学习内容总结
(2) 学习体会
学习c语言有一段时间了,越是学到后面越难,上周学习了do-while语句,这周学习了break语句和continue语句,并且知道了这两个语句的区别,又增加了一项编码技巧,又学到了新的C语言知识,现在编代码时没有以前那么吃力了,但是仍然不太熟练,而且题目也越来越难了,我还欠缺很多的锻炼,也欠缺很多知识,我以后还需要更努力的去练习,花更多的时间在这里,朝着我的目标前进