C语言I博客作业10
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业010 |
我在这个课程的目标是 | 学会编程语言和设计程序并能够利用所学知识解决这方面的一些问题 |
这个作业在那个具体方面帮助我实现目标 | 能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序。 |
参考文献 | 百度知道 , C语言作业评价标准 |
1.PTA实验作业
1.PTA实验作业
1.1 题目名
1.1.1数据处理
数据表达:定义整型变量 n, i, j, A, count = 0。
数据处理:
Begin(算法开始)
输入n;
for i=2;i<=n;i++
{
A ← pow(2,i) - 1
for j=2;j<=A/2;j++ /*使用A/2是为了减少运算时间除此之外还可以换成sqrt(A)*/
{
if A%j==0 /*判断A是否为素数*/
break;
}
if j>A/2 /*判断j是否大于A/2确保梅森数的正常输出*/
输出梅森数A;
对输出的梅森数进行计数;
}
if 输出的梅森数为0
输出None
End (算法结束)
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 测试是否与PTA所给测试样例输出一致 | |
0 | PTA测试点 | |
1 | PTA测试点 |
1.1.4 PTA提交列表及说明
1.编译错误:从vs上复制过来是忘记将scanf_s换成scanf。
2.部分正确:第二个for循环条件错误。
3.编译错误:从vs上复制过来是忘记将scanf_s换成scanf。
1.2 题目名
1.1.1数据处理
数据表达:定义整型变量n, i。
数据处理:
Begin(算法开始)
for i=1;i<=1000;i++ /*限定求同构数的范围*/
{
n←pow(i,2) /*求出从1到1000每个数的平方*/
if n%10==i或n%1000==i或n%1000==i /*判断是否为同构数*/
输出同构数
}
End (算法结束)
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
无输入 | 1 5 6 25 76 376 625 | 测试是否与PTA所给测试样例输出一致 |
1.1.4 PTA提交列表及说明
2.代码互评
同学代码
个人代码
1.总的来看两个人的思路都是一样的都是通过取余来判断右边是否出现了左边的数但是我把三个条件都放在了一个if语句中从而使代码比较简洁。
同学代码
个人代码
1.他使用了自定义函数使得主函数部分更加简洁,同时也使得变量增加。
2.我的方法在输出梅森数时的条件比较难想出来,虽然我花的时间可能比较长但是代码运行效率更高。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第十周 | 9个小时 | 400 | 学会根据实际情况,选择合适的算法、合理的循环结构 | 无 |
第九周 | 11个小时 | 450 | 学会使用break,continue以及循环结构的嵌套 | 对continue的使用还不够熟练 |
第八周 | 7个小时 | 400 | 能够使用while和do-while结构解决问题 | 对于一些while开始循环的判断条件想不到 |
第七周 | 7个小时 | 300 | 学会使用switch | 对于switch的使用还不够熟练 |
第六周 | 每天2个小时 | 260 | 学会了使用if ,for的嵌套 | 无 |
第五周/10-24 | 每天90分钟 | 160 | for循环语句和自定义函数 | 在自定义函数时有时理不清逻辑 |
第四周 | 每天90分钟 | 240 | for循环语句 | 有时候不知道如何判断数据是整型还是浮点型 |
第三周 | 每天一个小时 | 426 | if-else语句和else-if多分支结构 | 还没有 |
3.2累计代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 600 | 50 |
第二周 | 800 | 70 |
第三周 | 1200 | 90 |
第四周 | 1400 | 100 |
第五周 | 1600 | 160 |
第六周 | 1700 | 240 |
第七周 | 2000 | 300 |
第八周 | 2100 | 400 |
第九周 | 2200 | 450 |
第十周 | 2300 | 470 |
3.3学习感悟
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
经过这个星期的学习,学会了如何去减少代码运行的时间,从而提高代码运行的效率,这对于我们以后的学习和工作也有这重要的意义,虽然有时候会为了尽快解决问题,从而把复杂的运算交给电脑,当时对于以后走上工作之后还是得考虑客户的需求,因此我们在完成代码之后还是要继续思考有没有更加好的方法,这样也可以锻炼我们的逻辑能力。