C语言I博客作业10
一、表格
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095 |
我在这个课程的目标是 | 学习好C语言,熟练掌握编译代码的相关技巧,解决自己所遇到的问题 |
这个作业在那个具体方面帮助我实现目标 | 熟练循环结构的使用,熟练的编写程序。 |
参考文献 | 百度,C语言程序设计,《C Primer Plus》 |
二、本周作业
1.PTA实验作业
1.1 题目名1 输出三角形字符阵列
题目内容:
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D
E F G
H I
J
1.1.1数据处理
int n,i,j,count=0;
定义整型变量,n是输入的数,i是行数,j是列数,count用于累加
char ch;
定义字符型,用于后面的输出
scanf("%d",&n);
输入n的值
for(i=n;i>0;i--)
for(j=i;j>0;j--)
用于行和列的循环
printf("%c ",'A'+count);
输出n行由大写字母A开始构成的三角形字符阵列
count用以累加
1.1.2实验代码截图
1.1.3 造测试数据
1.1.4 PTA提交列表及说明
提交列表说明:
1.答案错误:在重新定义增加一个变量count,并且令count=0;并且在for语句中增加count++语句用来逐渐加一。
2.答案正确:。。。。
1.2 题目2 梅森数
题目内容:
1.2.1数据处理
#include<stdio.h>
#include<math.h>
int n,i,a,y=0,count=0;
定义整型变量,count用于计数,n是输入的数,y用于计算梅森数,a和i用于循环
输入n的值
if(n==1)
判断n是否等于一,如果等于则进行输出None
for(a=2;a<=n;a++)
用以循环,并且a<=n,从小于n的数开始一个个进行循环
令count=0;
for(i=2;i<y/2;i++)
让除数从二开始,进行循环,并且进行累加
if(y%i==0)
判断y%i取余是否等于零
count进行不是素数的累加,并且进行跳出
if(count==0)
判断count是否等于零
进行梅森数的输出
1.2.2 实验代码截图
1.2.3 造测试数据
1.2.4 PTA提交列表及说明
提交列表说明:
1.部分正确:将if(y!=1&&j>i/2)语句改正为if(y!=1&&y%j!=0)语句
2.部分正确:经过在devC++上反复测试后明白了一些问题,因为1不是素数,所以不管怎么样只要输入的是大于1一的数就会有素数的存在,所以增加语句if(n==1)
printf("None");
3.答案正确:。。。
挑战题 同构数
题目内容:
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
输出样例:
1 5 6 25 76 376 625
1.3.1数据处理
#include<stdio.h>
#include<math.h>
int number,i;
定义整型变量,i是从一开始的数,用以累加,number用于i的平方数
for(i=1;i<=1000;i++)
i从一开始逐渐增加,并且i的最大值为1000,进入循环
if语句用来判断平方数的右端是否等于i
输出满足条件的i
1.3.2 实验代码截图
1.3.3 造测试数据
输入样例 | 输出样例 | 说明 |
---|---|---|
无 | 1 5 6 25 76 376 625 | 验证题目所给数据 |
1.3.4 PTA提交列表及说明
说明:刚开始不理解什么是同构数,但后来查了一下资料才明白说明是同构数;在运行的时候也总是少输出一个数,后来在devc++上调试之后才发现自己的错误,改正之后在Pta上就一次性对了。
2.代码互评
同学代码一:
自己代码一:
代码比较:
1.自己的代码和同学的代码总的思路上没差不多的,只是定义变量不一样。
2.我运用了#include<math.h>,二而同学的则没有用也写出来了,这就导致同学的看起来比较的简洁。
3.我比同学多运用了一个数学表达式,用来计算平方后的数,而同学的是直接在if语句中进行运算,没有单独列出来。
同学代码二:
自己代码二:
代码比较:
1·其实俩份代码的总的思路是差不多的我觉得,只是写出来的方法有所不同,所以看起来有所不同。
2.我的代码中是用for语句进行素数的计算,而同学的则是用while进行素数的计算。
3.我运用了break 进行跳出,而同学并没有运用到。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周(9.19-3.27) | 四天 | 40 | Hello world编程和Markdown语法 | 对待大部分内容都不理解 |
第二周(9.25-10.4) | 四天 | 35 | 华氏度与摄氏度的转换 | 不理解数据类型 |
第三周(10.8-10.11) | 三天 | 90 | if-else语句、格式化输入语句 | 分不清整型变量和浮点型变量 |
第四周(10.15-10.17) | 三天 | 100 | 有关for循环体的运用 | 有时候不清楚循环体是什么 |
第五周(10.22-10.25) | 三天 | 130 | 使用自定义函数来编程和生成乘方表和阶乘表 | 不知道如何调试函数以及在哪里设置断点 |
第六周(10.30-11.2) | 四天 | 180 | 分支结构、字符型数据类型 | 对待字符型题目还是不能够准确理解 |
第七周(11.06-11.08) | 三天 | 190 | 学会多分支结构switch语句的使用 | 有时不能准确理解case后的有些语句 |
第八周(11.13-11.15) | 三天 | 200 | 学会使用while和do-while结构解决问题 | 不能准确判断while的循环条件 |
第九周(11.20-11.22) | 三天 | 195 | 学会break、continue的使用以及循环的嵌套 | 有时候对循环条件判断错误 |
第十周(11.26-11.27) | 两天 | 215 | 熟悉并且练习循环结构的使用 | 有时候不能准确判断运用哪一种结构较为简单 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.在这一周我们主要是对我们这几周的学习进行了一下总结,并且进行了一个简单梳理。
2.主要是总结了if-else语句,for语句,while语句,do-while语句,break,continue的不同之处以及一些相同点。
3.在上课时老师主要讲述了一下有关考试的相关事宜,老师说到时候会有编程题,而且是三道,听完之后有点慌了,因为自己的打字速度比较的慢,害怕到时候写不完。所以说在考试之前的这段时间里我一定要加快一下自己的打字速度。并且一定要做好复习工作。加油!