C语言I博客作业11
问题|答案
--|:--😐:--😐--:
这个作业属于哪个课程|C语言程序设计Ⅱ
这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10131
我在这个课程的目标是|掌握C语言,并熟练操作。
这个作业在那个具体方面帮助我实现目标|完成pta作业,进一步了解各种函数的定义
参考文献|百度百科,伪代码,CSDN
1.PTA实验作业#

1.1 6-1 统计某类完全平方数##
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
函数接口定义:##
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
裁判测试程序样例:##
#include <stdio.h>
#include <math.h>
int IsTheNumber ( const int N );
int main()
{
int n1, n2, i, cnt;
scanf("%d %d", &n1, &n2);
cnt = 0;
for ( i=n1; i<=n2; i++ ) {
if ( IsTheNumber(i) )
cnt++;
}
printf("cnt = %d\n", cnt);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:##
105 500
输出样例:##
cnt = 6
1.1.1数据处理###
数据表达:
定义n,m,i三个变量与一个含有10个数的数组a,运用if,while语句进行表达。
数据处理:
Begin
int n←(int)sqrt(N*1.0),m←n*n;
if{
int a[10]←{0}
while{
int i←m%10;
a[i]++;
if(a[i]==2)
return 1;
m←m/10;
}
}
return 0;
1.1.2实验代码贴图###

1.1.3 造测试数据###
输入数据|输出数据|说明
--|:--😐:--😐--:
200 700|cnt=5|随机数据
100 900|cnt=9|随机数据
500 999|cnt=2|随机数据
1.1.4 PTA提交列表及说明###

答案错误:定义n时表达式中未用1.0
答案错误:while循环结构中一个表达式写错了
1.2 6-2 统计各位数字之和是5的数##
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
函数接口定义:##
int is( int number );
void count_sum( int a, int b );
函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。
函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。最后按照格式
count = 满足条件的整数个数, sum = 这些整数的和
进行输出。题目保证0<a≤b≤10000。
裁判测试程序样例:##
#include <stdio.h>
int is( int number );
void count_sum( int a, int b );
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if (is(a)) printf("%d is counted.\n", a);
if (is(b)) printf("%d is counted.\n", b);
count_sum(a, b);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:##
104 999
输出样例:##
104 is counted.
count = 15, sum = 3720
1.2.1 数据处理##
数据表达:
定义sum,item变量,然后用while与if-else进行衔接,第二个函数定义i,sum=0,count=0,t等变量也是用if-else衔接。
数据处理:
Begin
{
int sum,item;
while(number!=0)
{
item←number%10;
number←number/10;
sum←sum+item;
}
if(sum==5)
return 1;
else
return 0;
}
Begin
{
int i,sum←0,count←0,t;
if(a>b)
{
t←a;
a←b;
b←t;
}
else
for(i←a to b)
{
if(is(i))
{
count++;
sum←sum+i;
}
}
printf("count ← %d, sum ← %d",count,sum);
}
1.2.2 实验代码截图##


1.2.3 造测试数据##
输入数据|输出数据|说明
--|:--😐:--😐--:
200 2000|count = 25 sum = 20330|随机数据
300 5000|
|随机数据
300 6000|count = 41 sum = 76129|随机数据
1.2.4 PTA提交列表及说明###

编译错误:不等于符号写成了一个‘!’
编译错误:输出结果的格式错误
2.代码互评#
2.1题目6-1 统计某类完全平方数##
2.1.1自己代码##

2.1.2同学代码##

不同之处:总体上我的代码比较精简,相对而言他多用了一个for循环。
3.学习总结#
3.1 学习进度条##
周/日期|这周所花时间|代码行|学到的知识点简介|目前比较迷惑的问题
---|:--😐:--😐:--😐:--😐:--😐---:
第五周|3h|30|简单的代码编写,Markdown语法的学习|无
第六周|4h|40|温度的转换|无
第七周|7h|83|if-else语句,计算简单函数|做题的时候对题目理解的不够彻底
第八周|15h|79|for循环型语句,编译简单循环型题目|无
第九周|9h|110|函数的调用和定义一个新函数|定义新函数还是有点不太熟练
第十周|20h|130|分支结构运用,逻辑运算符和字符型数据|无
第十一周|24h|130|switch语句的使用|写作业时还是遇到了一点麻烦
第十二周|27h|150|while语句和do-while语句的运用|到底什么时候该用那种语句
第十三周|30h|160|continue语句,以及循环的嵌套|对于嵌套问题还是有些不会
第十四周|24h|150|认知了穷举法,简单循环结构使用|复杂的循环问题弄不来
第十五周|24h|160|加深对函数的定义方法|自己定义新函数时不太熟练
3.2 累积代码行和博客字数##

3.3 学习内容总结和感悟##
3.3.1 学习内容总结###

3.3.2 学习体会###
前期我们接触过函数的调用,这次我们学习了函数的定义,更加的完善,但是也越来越复杂。随着期末临近,也开始有点急躁,担心这担心那。
还是得放平心态,这样学习效率也会大幅度提升。也不至于浑浑噩噩,没学什么东西。端正心态,继续加油!

浙公网安备 33010602011771号