这个作业属于那个课程 | C语言程序设计I |
这个作业的要求在哪里 | C语言I作业10 |
我在这个课程的目标是 | 掌握C语言程序设计的基本编程能力 |
这个作业在那个具体方面帮我实现目标 | 熟练运用循环的嵌套 |
参考文献 | PTA Devc++ C语言程序设计 |
1.PTA实验作业(20分/题)
1.1 输出三角形字符阵列 (15 分)
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
1.1.1 数据处理
数据类型:用了n,i,j,sum四个变量,数据类型都是整型变量。
数据处理:
include<stdio.h>
int main()
{
int n,i,j,sum = 0;
char A;
scanf("%d",&n);
for(输出n行)
{
for(控制每行的字母数)
{
printf(输出字母);
对字母的替换进行控制;
}
printf(空格);
}
return 0;
}
1.1.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | ![]() |
样例 |
5 | ![]() |
随机 |
6 | ![]() |
随机 |
1.1.4 PTA提交列表及说明
1.不会将字母一个一个引进来。
2.将字母引进改成输入,就是scanf("%d %c",&n,&A);
1.2 梅森数 (20 分)
形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。
1.2.1 数据处理
数据类型:用了b,c,d,n,i五个变量,都是整形变量。
数据处理:
include<stdio.h>
include<math.h>
int main()
{
int b,c=0,d=0,n,i;
scanf("%d",&n);
将1这种特殊情况独立出来单独分析
for(引进2到n个数字)
{
计算n的梅森数;
for(引用要取余的数字)
{
if(判断梅森数是否是梅森素数)
{
引进标志;
跳出循环;
}
}
if(用标志来判断)
printf(输出梅森数);
将标志改回,为下次循环做准备;
}
return 0;
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 3 7 31 | 样例 |
3 | 3 3 7 | 随机 |
16 | 3 7 31 127 8191 | 随机 |
1.2.4 PTA提交列表及说明
1.一开始以为是输出梅森素数,同时没有注意超过梅森数,我就在引进数字的时候,将能改成了n-1;
2.没有将标志改回,导致下次循环如果是满足条件的梅森数输不出来的。
2.代码互评(5分)
同学代码截图
自己代码截图
1.首先我们引进字母的方式不同,我直接是用ASCII码而他用的是定义字符型。
2.然后导出倒三角时我用的是借用乘法表的格式,而他是引进一个变量来控。
3.学习总结(15分)
3.1 学习进度条(5分)
日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/7--10/13 | 8个小时以上 | 106 | if-else语句 常用的数学库函数 数据类型 | 分不清变量用什么%d,%lf |
10/12-10/17 | 五个小时以上 | 90 | for循环语句 | 为什么不能直接用i来表示分母。 |
10/18-10/25 | 四个小时以上 | 96 | 调用函数 | 对函数调用时还有声明函数时变量能选一样的吗,还有就是对return后面打的东西不了解 |
10/26-10/2 | 8个小时以上 | 134 | 学习了常量和变量 | 用太多的if-else语句那个{}的数量很乱 |
10/3-10/8 | 8个小时以上 | 128 | 学习switch语句 | 对case 1 case 2共用一个表达式其它的表述方法 |
10/9-10/15 | 五个小时以上 | 98 | 学习了while语句和do-while语句 | 伪代码的书写 |
10/16-10/22 | 五个小时以上 | 87 | 学了循环的嵌套和break语句,contitue语句 | 循环语句用起来比较晕 |
10/24-10/29 | 六个小时以上 | 102 | 加强对循环的嵌套的运用 | 循环的嵌套没有用最佳的方案,同时对求余必须是同数据类型 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
我发现我们的助教是真的好,我老是问他写愚蠢的问题,他是很耐烦的回答我,真的真的很感谢他,真的是激起了我对学习的欲望,哈哈哈。回归正题,这周的学习,我们主要对加强对循环的运用,现在我对那个循环的嵌套没有那么晕了,但是找不到最优的方案,然后语文不是太好,看到题目的表面现象,没有看到题目的特殊的情况,这方面我的弥补方式,主要是多多练题吧,多多熟悉他们的套路。