C语言I博客作业09

C语言程序设计 2020计算机3班
作业要求 作业要求
课程目标 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型
作业帮助实现目标的具体方面 多次使用不熟练的内容,强化记忆从而达到目标
参考文献 C语言程序设计
学号 20209003

1.PTA实验作业


从PTA题目集中选出2个你最满意的题目完成.

1.1 水仙花数

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:本题要求编写程序,计算所有N位水仙花数。
输入格式:
输入在一行中给出一个正整数N(3≤N≤7)。
输出格式:
按递增顺序输出所有N位水仙花数,每个数字占一行。

  • 1.1.1 实验代码截图


  • 1.1.2 数据处理

数据表达:
  变量及其类型:
    整型变量:sum,i,x。
    浮点型变量:a,N。
  变量由来:通过题目已知定义。
数据处理:
  表达式:N>=3&&N<=6,x=pow(10,N-1),i = x,i<=x*10-1,i++,x = i,a = x % 10,x = x / 10,sum = sum + pow(a, N),i == sum,sum = 0,N=7。
  流程结构:循环结构和分支结构。
  • 1.1.3 造测试数据

输入数据 输出数据 说明
3 153\370\371\407 三位数的所有可能性
6 548834 六位数的所有可能性
  • 1.1.4 PTA提交列表及说明

1.答案错误:sum归零的位置放错地方,x变化后没有回归原来的数字。
2.部分正确:当N=7时,运行超时,现在尚且没想到好办法解决问题,暂且用的蠢办法,即把N=7的所有可能都列出来。

1.2 统计某类完全平方数

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
函数接口定义:
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
裁判测试程序样例:

  • 1.2.1 实验代码截图

  • 1.2.2 数据处理

数据表达:
  变量及其类型:
    整型变量:i。
  变量由来:通过题目已知定义。
数据处理:
  表达式:i < 100,int i = N,i == (int)sqrt(i) * (int)sqrt(i)&&i>=100,i / 1000 == 0,(i % 10 == i / 10 % 10) || (i % 10 == i / 100 % 10) || (i / 100 % 10 == i / 10 % 10),i / 10000 == 0,(i % 10 == i / 10 % 10) || (i % 10 == i / 100 % 10) || (i / 1000 % 10 == i % 10) || (i / 1000 % 10 == i / 10 % 10) || (i / 100 % 10 == i / 10 % 10) || (i / 1000 % 10 == i / 100 % 10)。
  流程结构:分支结构。 
  • 1.2.3 造测试数据

输入数据: 输出数据 说明
0 100 cnt = 1 只有100既是完全平方数,又至少有两位数字相同
105 500 cnt = 6 在105--500的区间内有六个数既是完全平方数,又至少有两位数字相同
  • 1.2.4 PTA提交列表及说明

1.部分正确:遗漏了需要至少有两位数字相同的条件。
2.答案错误:将return 0;放错位置。

2.代码互评

  • 统计某类完全平方数

    • 同学代码截图

      • 同学一

      • 同学二

    • 自己代码截图

  • 不同之处

    • 1.同学一使用了初始化数组,以我现在的水平,还不是太理解,所以自己是用的蠢办法。
    • 2.同学二和同学一的类似但还是有细微差别,但是现在还不太懂数组内一定要写10。

3.学习总结

3.1学习进度条

周\日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
11\12.13-12.19 约11小时 约150行 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型 对函数的定义与调用有点懵
10\12.6-12.12 约15小时 约150行 熟悉break、continue的使用并熟悉使用循环的嵌套解决问题 调试用不太好
9\11.29-12.5 约11小时 约190行 熟悉使用while和do-while结构解决问题
8\11.22-11.28 约9小时 约220行 熟悉多分支结构switch语句的使用 分不清何时用等于何时用赋值
7\11.15-11.21 约7小时 约200行 学习多分支结构、字符型数据类型和逻辑运算符
6\11.8-11.14 约6小时 约95行 生成乘方表与阶乘表 不理解函数的定义和调用如果将主函数放在前面,第一次出现的double fact(int n)后要加分号
5\11.1-11.7 约8小时 约140行 for语句 输出%d与%6.1lf之间不能有空格的原因
4\10.18-10.24 约6小时 约105行 if-else语句 不能理解求个位数用n%10,十位数n/10%10等 (已解决)

3.2累积代码行和累积博客字数

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

体会:

  • 对于PTA的题目《水仙花数》迷茫了一个星期多,这周终于运用调试找到问题所在,心情十分舒畅,成就感满满啊。
  • 实在是写不出PTA的《特立独行的幸福》,有一部分原因是没有耐心吧,最后还是运行超时,暂时没辙了。
  • 应付每周PTA的作业还是感觉越来越吃力,花费的时间越越多,但是能不能得到正确的答案还要看运气,所以还要继续努力,放平心态呐。
posted @ 2020-12-20 11:52  藐致  阅读(208)  评论(1)    收藏  举报