C语言|博客作业11

问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10132
我在这个课程的目标是 感觉C语言还是落下了很多,希望可以把之前落下的给补上一点
这个作业在那个具体方面帮助我实现目标 PTA使我巩固我的知识点
参考文献 百度、《C Primer Plus》第六版,C语言程序设计

1.PTA实验作业

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

1.1.1数据处理

数据表达:第一个函数定义了两个整型变量:num1,sum,并且给sum赋值为0;第二个函数定义了3个整型变量:count,sum2,i,并且给count、sum赋值为0
数据处理:

int is( int number )
定义num1和sum两个变量
sum=0;
用do-while循环{
num1=number%10;
sum=sum+num1;
number=number/10;
}终止条件是number等于0
然后用if-else语句判断{
if(sum==5)
return 1;
else
return 0;
}

void count_sum( int a, int b )
定义count、sum2、i三个变量
count=0;
sum=0;
用for循环语句,里面包含一个if语句
for(i=a;i<=b;i++){
if(is(i)){
count++;
sum2=sum2+i;
}
}
如果满足第一个函数就进行累加,否则就不执行
最后输出结果:printf("count = %d, sum = %d",count,sum2);

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
104 999 104 is counted. count = 15, sum = 3720 例题上的数据
1000 1999 count = 15, sum = 17220 随机输入的数据进行测试

1.1.4 PTA提交列表及说明


编译错误:第九行的 ; 落下了
编译错误:第二十行的 { 落下

1.2

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等

1.2.1 数据处理

数据表达:定义了i, a[100],b, count,j五个变量,其中a[100]是数组,都是整型变量,给count赋值为0,令i=N、b=sqrt(i)(开根号);
数据处理:int IsTheNumber(const int N)
定义i, a[100],b, count,j;
count=0;
i = N;
b = sqrt(i);

if (b*b==i)
while(i>0)
a[count]=i%10;
i=i/10;
for (j = 0; j < count; j++)
{
if (a[count] == a[j])
return 1;
}
这里开始判断是否是完全平方数,中间有判断是否有两个数字是一样的,就是用数组储存每次计算的结果,然后进行比较是否相等
count++;
然后返回程序

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
105 500 cnt = 6 例题上的数据
501 666 cnt = 0 随机输入的数据进行测试

1.2.4 PTA提交列表及说明

2.代码互评

同学代码截图

自己代码截图

代码差异:1.变量命名不同,该同学的代码比较杂乱,不是那么的规范。
2.在判定数组中的值是否为2时,同学(1)用了for语句去判定,但我用的if-else来判断。

3.学习总结

3.1 学习进度条

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

周数/日期 这周所花的时间 代码行 学到的知识点简介 目前比较疑惑的问题
第一周(9.19-9.27) 约10h 55行 Hello world编程,markdown语句 无。
第二周(9.25-10.4) 约20h 70行 华氏度与摄氏度的转换 变量类型分不清。
第三周(10.8-10.11) 约25h 90行 计算分段函数和学习if-else语句 if-else语句格式有点不熟悉。
第四周(10.15-10.17) 40h 100行 for循环语句和指定次数的循环程序设计 指定循环次数的程序设计不懂。
第五周(10.22-10.25) 40h 90行 使用自定义函数来编程和生成乘方表和阶乘表 编程细节不懂。
第六周(10.28-11.2) 35h 80行 关系符和逻辑符号 不清楚优先级。
第七周(11.3-11.8) 25h 50行 switch语句 switch语句还是有些不明白,for循环也有点。
第八周(11.9-11.15) 25h 60行 while循环do while循环 明白他们的区别,但是格式还是有点问题。
第九周(11/19--11/21) 16h 100行 学习了for循环的嵌套以及了解break语句和continue语句的用法和区别 静态数组和动态数组的区别。
第十周(11/26--11/28) 17h 150行左右 使用穷举法解决问题 当存在数据溢出情况时,数据的定义与取值范围选取。
第十一周(12/3--12/5) 12h 120行 函数的定义与调用,局部变量和全局变量的区别 实数的负零问题和误差问题。

3.3.1 学习内容总结。

3.3.2学习体会

这次上课有点吃力,不了解自定义函数,还有很多问题要不断改进与努力.写作业很困难很多不知道的东西,例如const int N,,搜索过后知道了const 定义的变量的值是不允许改变的,即不允许给它重新赋值,用 const 修饰的变量,无论是全局变量还是局部变量,生存周期都是程序运行的整个过程。还是要多多问同学以及老师。

原文地址:https://www.cnblogs.com/liuxiangjiang/p/11992621.html