0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
for(int i=1;i<10;i++)
{
}
int i=1;
while(i<=10)
{
i++;
}
int i=1;
do
{
i++;
}while(i<=10);
for(int i=1;i<=10;i++)
{
for(int k=1;k<=10;k++)
{
}
}
while(1)
{
if( )
{
break;
}
}
1.2 本章学习体会
- 感觉题目的难度开始上升。
- 作业和练习的数量成倍增加。
- 嵌套循环理解难度大,应用起来不熟练。
- 代码量:约690行。这两周没有花太多时间在c语言上,代码量下降不少。
2.PTA实验作业
2.1二进制转10进制
2.1.1 伪代码
char number;//输入数据
int sum=0;//十进制数
int flag=0;//输出的状态
do
{
输入二进制数;//二进制数number以字符型输入
if number等于0或1 then
{
sum = sum * 2 + number-'0';//转10进制的方式
}
else if number不等于'\n' then
{
输出错误提示;
flag=1;
退出循环;
}
end if
}while(number不等于'\n');
if flag等于0 then
输出十进制数sum的值;
end if
2.1.2 代码截图
2.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
111111 |
63 |
正常数据 |
10101 |
21 |
带0数据 |
53610 |
error input! |
非01数据 |
111111110011000 |
32664 |
较长数据 |
0 |
0 |
0值数据 |
2.1.4 PTA提交列表及说明
1.部分正确:数据类型定义为整型,输入超出整型数据的范围的二进制数。
2.部分正确:sum = sum * 2 + number-'0'; 没有减去'0'。
3.答案正确:将number定义为字符型,number-'0'。
2.2打印九九口诀表
2.2.1 数据处理
int N;//表格行数N(1~9)
int k,i;//循环次数变量
2.2.2 代码截图
2.3.3 造测试数据
输入数据 |
输出数据 |
说明 |
1 |
1*1=1 |
最小数据 |
9 |
|
最大数据 |
5 |
|
正常数据 |
2.3.4 PTA提交列表及说明
1.部分正确:没有明确找到内外循环间之间的关系。
2.部分正确:输出没有左对齐。
3.答案正确:第i行就有i个数据,找到内外循环的关系 i <= N以及k <= i。将%4d改为%-4d实现左对齐。
2.3 实验4-2-5-嵌套循环 水仙花数
2.3.1 数据处理
double N;//数据位数N(3~7)
int sum=0;//每个位上的数字的N次幂之和
int bit;//每个位
int i;//循环次数
int temp;//将循环i的值暂存,后续与sum比较是否相等
2.3.2 代码截图
2.3.3 造测试数据
输入数据 |
输出数据 |
说明 |
7 |
|
最大数据 |
3 |
|
最小数据 |
5 |
|
正常数据 |
2.3.4 PTA提交列表及说明
1.部分正确:当N=7运行超时。
2.答案正确:不使用系统自带的数学函数,自定义int my_pow(int, int);函数计算幂。
3.代码互评
题目名:梅森数
同学代码截图
自己代码截图
1.判断素数是否调用函数。
2.判断素数的判断区间选择不同。
3.代码规范性不同,变量名含义模糊,代码间缺少分行分段。
4.循环结束条件不同,导致程序运行效率差别。