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

0.展示PTA总分(0----2)


1.本章学习总结(2分)

1.1 学习内容总结

  • 循环语句

    • while循环语句:
      while(表达式)
      循环体语句;
    • do-while循环语句:
      do{
      循环体语句
      }while(表达式);
  • 控制循环语句

    • break
      功能:结束循环。
      适用范围:循环语句和switch语句。
    • continue
      功能:跳过后面语句继续循环。
      适用范围:仅循环语句。
  • 特殊循环结构(嵌套循环)

  • 循环语句的应用

    • 用格雷戈里公式求π的近似值//while循环语句
    • 统计一个整数的位数//do-while循环语句
    • 判断素数//break语句
    • 求1!+2!+...+100!//嵌套循环结构

1.2 本章学习体会

C语言的基本语法较容易掌握,但同时也容易忽视细节,造成细节上的错误。因此在学习C语言初期需要认真细致地去写好每一个代码,至每一条语句,才能为后期打好良好的语法基础。在不断的学习中发现C语言是一种很注重一个人的逻辑思维能力的语言学科,随着代码量的不断增加,自己的逻辑思维能力也在不断得到增强。其关键就是,要学会C语言,就必须要投入足够的精力和时间。

PTA题集 c03-单循环结构 c04-嵌套结构 总计
代码量 493 562 1055

2.PTA实验作业(6分)

2.1 7-11 简单计算器 (20 分)

2.1.1 数据处理

定义整型变量a放第一个数字,b放后面的数字,c放计算结果。定义字符变量n放运算符。
while((n=getchar())!='=')
输入下一个数字
if 在除法的情况下除数为0或符号不为加减乘除 then
printf("ERROR\n")
返回0
end if
end while
switch(n){
选择对应运算符进行运算
运算符不为加减乘除 thenf
printf("ERROR\n")
返回0
将c的值赋给a
输出a

2.1.2 代码截图

2.1.3 造测试数据

输入数据 输出数据 说明
1+2*10-10/2= 10 正常数据
8/0= ERROR 除数为0
5%7-2= ERROR 符号错误

2.1.4 PTA提交列表及说明

提交列表说明:

1.部分正确:没有考虑除法情况下除数为0的请客。
2.部分正确:在除数为0或运算符不正确 的情况没有使用break语句来结束程序。
3.全部正确:。。。

2.2 7-2 梅森数 (20 分)

2.2.1 数据处理

定义整型变量num放需要判断的数字,i放赋值给num的表达式中的指数,j放判断num是否为素数的除数,f放范围内素数的个数。
for(i=2;i<=n;i++)
将表达式pow(2,i)-1的值赋给num
判断num是否为素数
若不是,则退出循环
当循环判断结束时,即num为梅森数时
输出num的值
f++
end if
end for
end for
如果该范围内没有梅森数
输出None

2.2.2 代码截图

2.2.3 造测试数据

输入数据 输出数据 说明
6 3 7 31 正常数据
1 None 范围内无梅森数

2.2.4 PTA提交列表及说明

提交列表说明:

1.部分正确:在判断出num不为素数的情况下没有使用break语句跳出循环。
2.部分正确:没有考虑到当(j>sqrt(num))的情况下输出num。
3.全部正确:。。。

7-6 水仙花数 (20 分)

2.3.1 数据处理

定义整型变量i放判断的数,x放n位数的最小值,y放n位数的最大值,t放i的值并加入下面的计算,tt放每位数的n次方的值,sum放每位数的n次方的值的和。
for(i=0;i<n-1;i++)
算出范围内的最小值并赋给x
for(i=0;i<n;i++)
算出范围内的最大值并赋给y
for(i=x;i<y;i++)
结合while循环计算出每位数的n次方的值的和
end for
if(和的值与判断的数值相等)
输出该数的值
进入下一轮循环
直到判断完范围内最后一位数为止
返回0

2.3.2 代码截图

2.3.3 造测试数据

输入数据 输出数据 说明
3 153 370 371 407 正常数据
1 无输出

2.3.4 PTA提交列表及说明

提交列表说明

1.运行超时:计算每位数的n次方的值的和时,其中的while语句括号内条件m没有进行每一轮的减一运算,应该为m--。
2.运行超时:进入下一轮while循环前没有将t的值减少一位,应添加语句t=t/10.
3.答案正确;。。。

3.代码互评(2分)

7-2 梅森数 (20 分)


(上面为朱同学的代码,下面为我的代码。)
对比报告:朱同学善于应用新知识,思路清晰,且新知识应用得当,我则偏向于使用近期所学的知识进行解题;朱同学的代码量较大,我的代码量则较为简短。

7-7 换硬币 (20 分)


对比报告:朱同学习惯把变量定义放置到不同的行位,我则习惯把变量定义在同一行;朱同学善于应用嵌套循环判断语句,而我在循环内部很少再加入过多的语句。

posted @ 2019-10-20 18:37  BaiYi#  阅读(293)  评论(0编辑  收藏  举报