C语言1博客作业10
问题 | 答案 |
---|---|
这个作业属于在哪个课程 | C语言程序设计II |
这个作业要求在哪里 | <a href="https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095" |
target="_blank">C语言I作业10 | |
我在这个课程目标是 | 学好C语言,为后面学习打好基础 |
这个作业具体在哪里方面帮助我 | 综合介绍循环结构的程序设计 |
参考文献 | <a href="https://baidu.com"target="_blank">百度 , <a href="https://www.cnblogs.com/pengchen511/p/10564067.html"target="_blank">C语言作业评价标准 |
一:PTA实验作业
1.1题目名输出三角形字符阵列
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
1.1.1数据处理
1.数据处理:用了整形变量n,i,字符型变量A,n是输入的行数,i是循环变量,A是字符A
2.数据表达
定义整形变量n
输入整数n
定义字符变量A
定义整形变量i
if n<7 then //少于7行
while n≠0
do for(i=0 ;i<n ;i++)
printf("%c",ch)//打印字符
ch++//字母往后加
printf("\n")//换行
n=n-1//每一行减少
else printf("输入不正确");
1.1.2PTA实验贴图
1.1.3造数据测试
输入数据 | 输出数据 | 说明 |
---|---|---|
3 | 随机的 | |
5 | 随机的 | |
6 | 随机的 |
1.1.4PTA提交列表说明
格式错误,可能是没有排版好,代码不规范,导致换行错误
1.2题目名梅森数
形如2n-1的素数称为梅森数(Mersenne Number)。例如22-1=3、23-1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231-1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。
本题要求编写程序,对任一正整数n(n<20),输出所有不超过2*n-1的梅森数。
输入格式:
输入在一行中给出正整数n(n<20)。
输出格式:
按从小到大的顺序输出所有不超过2*n-1的梅森数,每行一个。如果完全没有,则输出“None”
1.2.1数据处理
1.数据处理:定义了整形变量n,i,num,a,count,n是输入小于20的数,i是二的幂,num是输入的素数,a用来判断是否是梅森数,count是用来累加梅森数
2.数据表达:
调用数学函数
定义了整形变量n,i,num,a,count
输入n
for(i=2;i<=n;i++)//从2开始循环,因为1不是素数,从2之后才有素数
do num=pow(2,i)-1;//数学公式
for (a=2;a<=num/2;a++)//判断梅森数
if(num%a==0) end//条件满足跳出循环
if (num%a!=0)
printf("%d\n",num);//换行,题目要求的
if(count==0)
printf("None");//没有梅森数就输出None
1.2.2PTA实验贴图
1.2.3造数据测试
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 随机打的 | |
7 | 随机打的 | |
8 | 随机打的 |
1.2.4PTA提交列表说明
1.编译错误:刚开始没看到,定义了两个一样的变量
2.编译错误:有个忘记打分号,一开始没有给count赋值
二:代码互评
同学代码1
同学代码2
自己代码
相互对比
1.同学1的代码调用了数学函数,用了许多表达式,用了较的for语句,他是用代数计算方法算出ASCII值,方法独特
2.同学2的代码定义了许多变量,因为后面表达式需要运用,他没有使用字符型的输出,但是也是用字符来做的,用了for语句循环和if语句判断条件是否成立
3.我用了字符型变量,用了if-else语句判断条件,用了for和while语句循环,没有定义很多变量,表达式较简单
4.这是三份不同的代码,我感觉各有各的好
三:学习体会
3.1学习进度条
周 | 这周花的时间 | 代码行 | 学到的知识简介 | 目前比较疑惑的问题 |
---|---|---|---|---|
第一周 | 3天 | 47 | 简单的编程 | 无 |
第二周 | 4天 | 55 | 常量,变量,数据类型和一些运算符以及赋值运算 | 无 |
第三周 | 4天 | 95 | 关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 | 格式控制 |
第四周 | 4天 | 92 | 使用for循环语句实现指定次数的循环程序设计 | 循环的顺序 |
第五周 | 4天 | 85 | 对函数的定义和调用有初步的认识,能模仿编程 | 对函数题还不熟练 |
第六周 | 4天 | 152 | 学会多分支结构、字符型数据类型和逻辑运算符 | 字符型函数不太了解 |
第七周 | 4天 | 182 | 熟悉多分支结构switch语句的使用 | 怎么用switch语句简单些 |
第八周 | 3天 | 118 | 熟悉使用while和do-while结构解决问题 | 字符型再加上while语句不太会用 |
第九周 | 4天 | 196 | 熟悉break、continue的使用 ;熟悉使用循环的嵌套解决问题 | 嵌套问题还不是很会 |
第十周 | 5天 | 200 | 综合运用循环结构的程序设计 | 较复杂的代码不太会用循环结构 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习总结
3.3.2学习体会
1.这周主要是对上周的内容进行总结,加强难度进行学习。
2.此次作业综合性很强,比较难消化,所以需要勤加练习。
3.现在我们写代码必须规范起来,不然可能会出现格式错误,然后成习惯也不好
4.写这次作业其实每题都有不同的方法,我们本周主要学习怎么让代码又好又简单,这是我们需要练习的