这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10098 |
我在这个课程的目标是 | 熟悉while和do-while语句以及怎样使用break,continue语句,还有在for语句中它们的区别 |
这个作业在那个具体方面帮助我实现目标 | 实现几种循环语句的灵活运用,了解各自的特点 |
参考文献 | C语言程序设计,中国大学慕课 |
1.PTA实验作业
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;字符型变量c,n是输入的数。
运用整型int定义n,i,j;字符型变量c,n是输入的数。
输入n;
把A赋值给c;
for(i=0;i<=n;i++) to n
for(i=0;i<=n;i++) to n
{
输出字母c;
c++;
即往后加一个,也就是A加一等于B;
}
换行;
end for
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
3 | 输出符合三角形 | |
5 | 输出符合三角形 | |
8 | 输出不符合三角形 |
1.1.4 PTA提交列表及说明
1.for(i=1;i<=n;i++);for(j=i;j<=n;j++)两个表达式中的范围弄错了,没有取等号。如果改为这样也是对的for(i=0;i<n;i++);for(j=i;j<n;j++)
2.还有是输出那字母c时没打空格。
1.2梅森数
题目描述:形如2
n
−1的素数称为梅森数(Mersenne Number)。例如2
2
−1=3、2
3
−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2
31
−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。
本题要求编写程序,对任一正整数n(n<20),输出所有不超过2
n
−1的梅森数。
输入格式:
输入在一行中给出正整数n(n<20)。
输出格式:
按从小到大的顺序输出所有不超过2
n
−1的梅森数,每行一个。如果完全没有,则输出“None”。
输入样例:
6
输出样例:
3
7
31
1.2.1数据处理
数据表达:运用整形定义num,n,i,j;n为输入的数。
输入n;
if(n==1)//排除1这个数,从2^2-1开始
如为1,then;
printf("None");
for(i=2;i<=n;i++)
{
num=pow(2,i)-1;
for(j=2;j<=num/2;j++)
{
then 判定是否为素数;
if(num%j==0)
break;
如果num%j!=0,则代表i没有被2至i-1之间的任意数整除,即num为素数,输出.
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
7 | 在此范围内有四个梅森数 | |
5 | 在此范围内有三个梅森数 |
1.2.4 PTA提交列表及说明
1.判定素数的条件错了,还有下面有种情况没考虑到。
2.还有思路很乱,后面的条件有多余了。
二.代码互评
我的代码 | 同学代码 |
1.我的代码很简单,但这不是普遍适用的方法,而是针对一些不用输入格式的,不具有很高的可读性。
2.同学代码也是很简单,方法也很好,用一个数的平方除以相对应的数在取余,思路也很清晰,值得我学习。
3.最后一张图片用的是库函数,使用了for,do-while,switch语句三种一起混杂,能很好的运用它们,并且联系起来,虽然代码很长,但可读性强。
3.1 学习进度条
日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
第一周 | 6小时左右 | 40 | 学会一些符号的使用 | 开始感觉写代码太难,不知写它是干什么的所以很困惑 |
第二周 | 11小时左右 | 70 | 会使用Markdown格式和一些基础的C语言知识 | 对代码错误找不出原因 |
第三周 | 14小时左右 | 90 | 学会了基本语句和编写程序的列子、如if语句还有变量名称 | 有些格式不会及符号不会打 |
第四周 | 25小时左右 | 120 | for循环语句的使用以及数据处理的运算符 | 对格式问题不太明白、表达式有点不会和一些细节问题总是忽略 |
第五周 | 40小时左右 | 150 | 函数的定义以及函数调用 | 不完全理解函数的使用,一些步骤有点迷糊 |
第六周 | 30小时左右 | 130 | 分支结构、逻辑运算符、字符型数据以及if-else的嵌套结构 | 逻辑关系搞错,常误解题目意思 |
第七周 | 40小时左右 | 150 | switch语句的使用 | switch与if-else的嵌套会有点混淆,格式还不太明白 |
第八周 | 50小时左右 | 170 | while语句和do-while的使用,以及它们和for语句的区别 | 对while语句的使用不是很熟悉 |
第九周 | 40小时左右 | 140 | continue语句和break语句的区别及用法 | 有点模糊,它们各自在哪里可用 |
第十周 | 30小时左右 | 150 | 了解了一点函数 | 不清楚怎么使用 |