| 这个作业属于哪个课程 | C语言程序设计II | 
|---|---|
| 这个作业要求在哪里 | C语言I博客作业10 | 
| 我在这个课程的目标是 | 熟悉代码的编程,设计出一个小程序,能够正常运行并且能够拥有一定用户 | 
| 这个作业在哪个地方具体方面帮助我实现目标 | 选择合适的算法、合理的循环结构,熟练的编写程序 | 
| 参考文献 | 同构数 long函数 abs函数 时间复杂度和空间复杂度 | 
1.PTA实验作业
1.题目名(输出三角形字符阵列 )
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D E F G H I J
1.1.1数据处理
数据表达:用到了三个整型变量,n用来作为题目的输入值,i代表行,j代表列;用到了字符型变量c,c用来赋值字符
数据处理:伪代码
#include<stdio.h> //头文件
int main()       //函数名
{
    int n,i,j;  //定义三个整型变量
    char c;    //定义字符型变量 c
    c = 'A';   //给变量c赋值A
    scanf("%d", &n);
    for(i=1;i<=n;i++)  //进行行的循环
    {
        for(j=i;j<=n;j++)  //进行列的循环
        {
            printf("%c ", c); //打印字符
            c++;   //字符自增
        }
        printf("\n");  //输出换行
    }
    return 0;
}
1.1.2实验截图代码

1.1.3造测试数据
| 输入数据 | 输出数据 | 说明 | 
|---|---|---|
| 4 | ![]()  | 
能形成三角形 | 
| 3 | ![]()  | 
能形成三角形 | 
| 5 | ![]()  | 
能形成三角形 | 
1.1.4 PTA提交列表及说明

说明:
Q1:多种错误
A1:编译代码错误,格式错误,改用了字符型变量编写代码
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用来循环,count用来计数梅森数
数据处理:伪代码
#include<stdio.h> //头文件
#include<math.h> //该编程中用到了数学
int main()   //函数名
{
    int num,n,i,j,count=0;  //定义四个整型变量
    scanf("%d",&n);
    for(i=2;i<=n;i++)      //进行循环
    {
       num=pow(2,i)-1;     //表示素数
       for(j=2;j<=sqrt(num);j++)   //进行循环
       if(num % j==0) break;     //如果为假,则跳出循环
       if(j>sqrt(num))      //  判断是否为梅森数
        {
        printf("%d\n",num);  //打印梅森数
        count++;    //梅森数自增
        }
    }
    if(count==0)     //没有梅森数
    printf("None");   //输出 None
return 0;
}
1.2.2实验截图代码

1.2.3造测试数据
| 输入数据 | 输出数据 | 说明 | 
|---|---|---|
| 4 | ![]()  | 
梅森数为3,7 | 
| 5 | ![]()  | 
梅森数为3,7,31 | 
| 6 | ![]()  | 
梅森数为3,7,31 | 
1.2.4PTA提交列表及说明


说明:Q1:编译错误
A1:代码书写不正确,循环的嵌套没有使用好,处理素数开始直接写的pow(2,i)-1,后来将pow(2,i)-1复制给了num
2代码互评
1.同学代码截图

2.自己代码截图

说明:1.他是先定义了整型变量最后转换为字符型输出,而我是从一开始就直接定义了字符型变量,并用字符型变量直接赋值
2.我的代码比他的更加简单
3.同学代码截图

4.自己代码截图

说明:1.该同学先写出来当值为1时输出None,然后进行初始输入值为2的循环,而我是初始值赋为2进行循环判断有无梅森数
2.我和他用的的判断方法不同,他是用余数判断,而我的用到了根式判断
3.学习总结
3.1学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 | 
|---|---|---|---|---|
| 4/2019.9.21 | 7个小时 | 50 | 编程“hello word” | 初次接触对代码很迷惘,不知道表示的是什么意思 | 
| 5/2019.10.2 | 8个小时 | 100 | 安装gcc编译器,将代码建在自己的文件里 | 如何安装的程序不明白 | 
| 7/2019.10.11 | 10个小时 | 200 | 三种表达式,printf流程和scanf流程,if-else语句 | scanf流程还是不太明白 | 
| 8/2019.10.17 | 20个小时 | 350 | 使用for循环语句数的循环程序设计 | for循环语句的结构还是有点困惑 | 
| 9/2019.10.25 | 25个小时 | 550 | 使用while语句循环,自定义函数,参数 | 自定义函数还是·不太明白 | 
| 10/2019.11.1 | 20个小时 | 700 | 熟悉多分支结构、字符型数据类型和逻辑运算符 | 关于字符型的代码还是不太明白 | 
| 11/2019.11.7 | 15个小时 | 1000 | 熟悉多分支结构switch语句的使用 | 对swith语句的使用还有一定的困惑 | 
| 12/2019.11.15 | 14个小时 | 1200 | 熟悉使用while和do-while结构解决问题 | 对while语句的使用还有一定的疑惑 | 
| 13/2019.11.21 | 15个小时 | 1450 | 熟悉break、continue的使用,熟悉使用循环的嵌套解决问题 | 对continue的使用不够熟练,还有很大疑惑 | 
| 14/2019.11.28 | 20个小时 | 1660 | 选择合适的算法、合理的循环结构,熟练的编写程序 | 对字符型函数和abs函数还不是太懂 | 
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结
请用思维导图的形式将到目前为止所学的内容进行整理

3.3.2学习体会
代码越来越难了,这次通过写代码,查阅资料,接触到了新的函数,新的long函数和abs函数还需要自己多花点时间去琢磨琢磨,感觉代码的世界越来越奥妙了,自己还有很多要学的地方;
感觉时间很不够用,最近作业很多,事情也很多,有时候走在路上,脑子里面想的都是代码,走路时候手机看的也是代码,还是感觉自己的悟性还不够,还需要加大自学的力度,抓住空闲的时间





