C语言I博客作业11

这个作业属于那个课程 C语言程序设计
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10130
我在这个课程的目标是 熟悉并掌握好C语言及其它的专业性知识
这个作业在那个具体方面帮助我实现目标 完成PTA作业
参考文献 集美大学林丽老师,《C Primer Plus》,伪代码规范

一,PTA实验作业

1,统计某类完全平方数

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
C语言I博客作业11_第1张图片

伪代码
read a,b,c,n,m    //int整型定义输入
read d[10]={0}  
for a←1, a<←sqrt(N),a++    //for语句循环a++
do b←0    //b赋值为0
   if N←a*a    //if语句N相等于a*a
   then n←N    //n赋值为N
   whlie n    //满足n时
     c←n%10,d[c]++,n←n/10    //执行此处循环语句
   for m←0,m<10,m++    //for语句从m为0开始到10循环m++
   do if d[m]>←2    //满足if条件语句
      then b←1     //执行b赋值为1
if b←0
then return 0    //满足if条件执行语句

1,数据处理

变量 变量来源 变量类型
a,b,c,n,m 自定义 int整型
d[10] 自定义 int整型

2,造测试数据

输入数据 输出数据 说明
35 400 cot = 5 随机
89 700 cot = 8 随机
26 350 cot = 4 随机

3,PTA提交列表及说明
C语言I博客作业11_第2张图片

  • 答案错误:没有考虑到后面的if条件语句
  • 编译错误:没有考虑到后面的if条件语句
  • 答案正确:解题思路见上文伪代码

2 , 统计各位数字之和是5的数

本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和

C语言I博客作业11_第3张图片
C语言I博客作业11_第4张图片

伪代码
read n←number,m←0,x,sum←0    //赋值n为number,m为0,sum为0
read a[10]←{0}
while n    //满足while条件时
do m←n%10,a[m]++,n/=10    //做此循环
for x←0,x<←10,x++     //for语句从x为0开始循环x++
do sum+←x*a[x]       
if sum←5      //满足sum为0,进入下一语句
do return 1
else return 0

read count←0,sum←0     //赋值count为0,sum为0
for a,a<←b,sum←0      //for语句开始进入下一语句
do if is(a)←1      //如果满足条件进入下一语句
   then count++,sum+←a      //做count++,sum+=a
printf count, sum    //输出count,sum

1,数据处理

变量 变量来源 变量类型
n,m,x,sum 自定义 int整型
a[10] 自定义 int整型
number n=number int整型
count,sum 自定义 int整型

2,造测试数据

输入数据 输出数据 说明
348 560 count = 3, sum = 1311 随机
49 540 count = 16, sum = 3770 随机

3,PTA提交列表及说明

  • 编译错误:在int count=0 后用了 ; ,要使用 , 。
  • 答案正确:解题思路见上文伪代码

二,代码互评

我的
C语言I博客作业11_第5张图片
同学
C语言I博客作业11_第6张图片

  • 都采用了数组,但思路各不相一,定义了一个一百位的数组,用count的累加存储数字,最后用小于count的数和每次累加到的count数组比较,如果有相同的就满足条件

我的
C语言I博客作业11_第7张图片
同学
C语言I博客作业11_第8张图片

  • 思路差不多,他用了do-while语句,直接求出各位数数字,累加起来得到和与5比较

三,学习总结

1,学习进度条

周/日期 这周所花的学习时间 代码行 学到的知识点 目前比较迷惑的问题
第一周 8小时 28 visual studio 2019安装 没有
第二周 8小时 18 温度转换,计算摄氏温度 没有
第三周 三天 110 if-else语句 格式化输入函数scanf() 使用scanf()的返回值 格式空格
第四周 三天 147 循环结构,流程图,数学函数 为什么在main()里加入void
第五周 两天 75 对函数的定义和调用有初步的认识,能模仿编程 为什么同样的答案在Dev-C++里是对的而在PTA里的就是错的
第六周 8小时 180 熟悉多分支结构、字符型数据类型和逻辑运算符 同样的答案在Dev-C++里是对的而在PTA里的就是错的,Visual Studio不会用
第七周 8小时 104 熟悉多分支结构switch语句的使用 不能流畅的完成PTA
第八周 8小时 90 熟悉使用while和do-while结构解决问题 while(1)里面数字代表什么
第九周 8小时 112 熟悉break、continue的使用,熟悉使用循环的嵌套解决问题 做题的思路
第十周 两天 119 循环结构的程序设计,典型算法
第十一周 两天 155 预习数组

2,累计代码行数和博客字数
C语言I博客作业11_第9张图片

三,学习内容总结和体会

1,学习内容总结
C语言I博客作业11_第10张图片

2,学习体会
好难。和同学讨论了好久才想到一些思路,还要预习一下数组相关的知识才做的出来。

你可能感兴趣的:(C语言I博客作业11)