C语言博客作业02--循环结构

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不等于'
' then
        {
                输出错误提示;
                flag=1;
                退出循环;
        }
        end if
}while(number不等于'
');
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.循环结束条件不同,导致程序运行效率差别。

原文地址:https://www.cnblogs.com/c4412/p/11666075.html