1.PTA实验截图
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122084212060-1200432244.png)
1.1打印九九乘法表
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122084449759-1840766948.png)
1.2数据处理
数据表达:
1.i,j分别表示行和列,其中j小于i,且i,j都为整型变量;
2.其中等号右边数字占4位、左对齐应该表示为"%d*%d=%-4d"
3.九九乘法表有九行,故要用printf("\n")语句;
数据处理:
伪代码:
Begin
include<stdio.h>
int main()
int N i j
scanf("%d",&N)
for i←1 to N
repeat
for j←1 to i
repeat
printf("%d*%d←%-4d" j i i*j)
printf("\n")
End
1.3实验代码截图
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122090558516-766938726.png)
1.4造测试数据
输入数据 |
输出数据 |
说明 |
4 |
11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16 |
加以验证 |
1 |
1*1=1 |
增加实验结果的可靠性 |
2 |
11=1, 12=2 ,2*2=4 |
增加实验结果的可靠性 |
1.5PTA提交列表及说明
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122090932258-2000440621.png)
Q1:
- 1.显示答案错误,没有按题目的要求,“其中等号右边数字占4位、左对齐”未用正确的代码表示
- 2.根本没有用到for语句
A1:使用了for(i=1;i<=N;i++)和for(j=1;j<=i;j++),并用%-4d表示数字占四位
Q2:显示部分正确,for语句的循环嵌套结构没有使用对
A2:将printf("\n")语句放到for语句的最后面
说明:
1.熟悉使用for语句的循环嵌套结构解答本题的前提;
2.常用的表达方式在于平时的积累;
3.多加练习是学好C语言的方法;
2.1换硬币
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122092751042-1570989525.png)
2.2数据处理
数据表达:
1.total:硬币总数量,count:换法个数,x代表数量,且都为整型变量,定义初始值count=0;
2.用i=x/5的格式代表该硬币的个数;
3.i*5+j*2+m*1==x用来判断他们的和是否等于数量;
数据处理:
伪代码:
Begin
include<stdio.h>
int main()
int total count i j m x
scanf("%d", &x)
count←0
for i←x/5
for j←x/2
for m←x/1
if(i*5+j*2+m*1←x)
printf("fen5:%d fen2:%d fen1:%d total:%d\n" i j m i+j+m)
count←count+1
printf("count ← %d" count)
End
2.3实验代码截图
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122094608265-1469556472.png)
2.4造测试数据
输入数据 |
输出数据 |
说明 |
13 |
fen5:2,fen2:1,fen1:1,total:4fen5:1,fen2:3,fen1:2,total:6fen5:1,fen2:2,fen1:4,total:7fen5:1,fen2:1,fen1:6,total:8,count = 4 |
加以验证 |
8 |
fen5:1,fen2:1,fen1:1,total:4 ,count=1 |
增加实验结果的可靠性 |
2.5PTA提交列表及说明
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122094753509-2029570669.png)
Q1:
- 1.显示答案错误,i,j,m没有用表达式表示
- 2.没有判断条件if,不知道怎么使用for语句的循环嵌套
- 3.没有按题目的要求按顺序输出
A1:使用for语句的循环嵌套,i,j,m用表达式表示,并按题意的要求输出
Q2:显示格式错误,没有看清题中所给的输出样例
A2:fens与fens之间要空格,且count与%d之间也要空格
说明:
- 1.做题时要正确的理解题意,题意是解题的关键;
- 2.一些常见的语法错误虽然不能避免,但要知道是哪里出错了;
- 3.多加练习是学好C语言的方法;
3.代码互评
同学代码:
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122101345018-23584282.png)
我的代码:
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122090558516-766938726.png)
互评结果:
- 1.他的代码有n的取值范围(n>=1&&n<=9);
- 2.他的代码格式不规范,for语句后没有“{}”,而我的代码是按照格式来编写的;
- 3.相对于他的代码,我的代码的可靠性更高,更美观;
同学代码:
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122101202023-703127739.png)
我的代码:
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122094608265-1469556472.png)
互评结果:
- 1.我的代码的行数比它的少,显得更简便一些;
- 2.他还每一个fen定义了初始值,并且还使用了system(“pause”);
- 3.相对于他的代码,我的代码的可靠性更高,更加直观;
3.学习总结
3.1学习进度条
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较疑惑的问题 |
第一周 |
2小时 |
30行 |
如何空格,控制字符 |
编译的格式 |
第二周 |
2.5小时 |
40行 |
求华氏温度 |
printf的使用方法 |
第三周 |
4.5小时 |
80行 |
分段函数的编写 |
if-else不能灵活使用 |
第四周 |
2天 |
90行 |
循环语句for的使用 |
不会正确的变形,理不清题意 |
第五周 |
2天 |
200行 |
水仙花数的表示方法;个位数字平方和的表示方法 |
对陌生的概念不太了解,难以正确编程 |
第六周 |
2天 |
260行 |
if与else语句与for语句的综合使用,逻辑运算符,字符型char |
题意与如何构思能力还有待提高 |
第七周 |
2天 |
220行 |
switch语句的使用,以及一些常见的格式 |
不能正确的编程,如何解决问题的能力还有待提高 |
第八周 |
2天 |
230行 |
如何用do-while语句和while语句,并区分与for语句的不同地方 |
题意还是不能完全读懂,难以正确的编程 |
第九周 |
3天 |
280行 |
如何使用for语句的循环嵌套结构,并学了break与coutinue之间的区别 |
题意还是不能完全读懂,题意与如何构思能力还有待提高 |
3.2累计代码行和博客字数
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122104416072-1554691100.png)
3.3学习内容总结与感悟
思维导图:
![](https://img2018.cnblogs.com/blog/1808423/201911/1808423-20191122110400501-1529979126.png)
内容总结:
- 明白一些常见的错误类型,如答案错误表示与题意输出的内容不符或输出的结果不同,编译错误常见的问题是标点符号不打或打错,运行超时的常见问题是输入了不要输入的内容,多种错误常见的问题是多定义了一些没有用到的变量,且再编程上还出现了语法错误;
- 学会如何用for语句的循环嵌套结构,典型的例子就是九九乘法表,如何用for语句的循环嵌套结构来表示行和列;
- 学会了break与coutinue之间的区别;
感悟:
- C语言是一门语言,要想学好学会就要多加练习,要从本质上分析问题并解决问题
- 学习过程中会遇到一些难题,这时就离不开老师与同学的帮助,多问还是有必要的
- 做题过程中会遇到许多未学过的知识,这就需要我们多看课外书并预习课本上还没教的知识
3.4学习体会
- C语言中如何正确使用for语句的循环嵌套结构,对于初学的我只能不断搜集资料;
- 有时我甚至连题意都没有弄懂,在同学的帮助下我还是明白了许多;
- 在这门功课上,我们需花大量的时间来练习并巩固已学知识;
- 同时我也希望老师在上课的时候多讲几个习题助于我们理解;
- 当然我也会去图书馆去阅读一些相关资料来提升自己。