这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | C语言I作业10 |
我在这个课程的目标是 | 掌握C语言 |
这个作业在那个具体方面帮助我实现目标 | 对循环语句的练习 |
参考文献 | 《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数据处理
数据表达:本题用了五个整型变量和一个字符型变量,b用来表示大写字母,i用来执行循环,k表示循环终止,a表示输入的数,m用来控制输出的每一行的个数,c用来控制输出的字母。
数据处理:
伪代码
Inout (a);
将c赋值为-1;
将字符A赋给b;
同时m=k=a;
for(i=1;i<=k;i++)用来打出所需要的行数;
while(m>0);
c++;
Output(b+c);输出一个字符并空格;
m--;
while循环结束后令m=a-1;a=a-1;并换行;后再次执行for循环;
End。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | 题目的测试样例 | |
5 | 随机数 | |
6 | 随机数 |
1.1.4 PTA提交列表及说明
提交列表说明:
1.答案正确:此题一次就过了。
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 数据处理
数据表达:本题用了五个整型变量,i,j用来实行循环;n为输入的指数;a用来存放2的n次方-1;flag用来看是否有梅森数
数据处理:
伪代码
对a和falg初始化;
Inout (n);
if(n=1)
output(None);
for(int i=2;i<=n;i++)输入2到n之间的数
a=pow(2,i)-1;
for(int j=2;j<=a/2;j++)输入2到a/2之间的数并用(a%j==0)进行判断是否为素数
if不为素数flag++;
if为素数
output(a)并换行;
再重新对falg进行初始化;
End
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | 题目的测试样例 | |
13 | 随机数 | |
21 | 随机数 |
1.2.4 PTA提交列表及说明
提交列表说明:
1.编译错误:失误,少打了个;号。
1.3挑战进阶题:同构数
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
输出样例:
1 5 6 25 76 376 625
1.3.1 数据处理
数据表达:本题用了两个整型变量,i用来执行循环,result用来存放i的平方数
数据处理:
伪代码
做一个循环输入数字1到1000;
计算出数字1到1000的每位数的平方;
if(result%10==i||result%100==i||result%1000==i)取出右端的数与i作比较,如果与i相等,输出i的值
END
1.3.2 实验代码截图
1.3.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
无 | 1 5 6 25 76 376 625 | 题目的测试样例 |
1.3.4 PTA提交列表及说明
提交列表说明:
1.答案错误:printf时打了个&,尴尬;
2.格式错误;原本是打的%-6d,习惯性的多大了-,导致结果向左对齐了。
2.代码互评
同学代码截图
自己代码截图
- 1.这位同学是分开判断是否为同构数,算法复杂,导致代码也长,我只判断一次更香。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
7/7-7/13 | 10 小时 | 235 | 循环语句for的使用以及格式 | 无 |
8/14-8/20 | 8小时 | 197 | 定义全局变量 | 无 |
9/21-9/27 | 17小时 | 537 | 函数的调用 | 无 |
10/28-10/3 | 16小时 | 411 | 数据类型的回顾 | 无 |
11/4-11/10 | 24小时 | 1089 | 数组以及一些算法 | 无 |
12/11-12/17 | 8小时 | 453 | 结构体 | 无 |
13/18-1324 | 5小时 | 371 | 冒泡加sort | 无 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
第一次参加学校的编程比赛,我发现我太菜了,还有好多东西要学。