C语言I博客作业10

| |
---|:--😐---:
|这个作业属于那个课程| C语言程序设计II
|这个作业要求在哪里| https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10096
|我在这个课程的目标是| 精通c语言
|这个作业在那个具体方面帮助我实现目标| 学会了循环的嵌套
|参考文献 |c语言程序设计

1.PTA实验作业(20分/题)

从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

1.1 题目名1

7-8 输出三角形字符阵列 (15 分)
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

输入格式:
输入在一行中给出一个正整数n(1≤n<7)。

输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

输入样例:
4
输出样例:
A B C D
E F G
H I
J

1.1.1数据处理

length控制行数和长度   count控制字符的递增 
#include<stdio.h>
int main()
{
声明length控制行数和长度 ,  count控制字符的递增 ;

给length赋值;		// <- 4

for (循环length次打印length行)
{
	for (循环length递减次,每行打印length递减个字母)
	{
		printf("%c ", 'A' + count);
		count++;
	}
	换行;
}
return 0;
}

1.1.2实验代码截图

1.1.3 造测试数据

|输入数据 |输出数据 |说明
|:--|:--😐:--😐--:
| 0 | 无 |length=0
| 1 | A |length=1
| 4 | A B C D \n E F G \n H I \n J |题目所给

1.1.4 PTA提交列表及说明

编译错误:因为for循环后加了“;”
解决方法:去掉“;”

1.2 题目2

7-3 梅森数 (20 分)
形如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 数据处理

length为输入的数  ss(int i)为判断是否为素数的函数   flag是用来判断是否有梅森数  number为等待被判段的数
#include<stdio.h>
#include<math.h>
int ss(int i);		// 函数声明

int main()
{
             输入数字n;

判断有无梅森数 flag = 0;
for(i=2,从2到n的数都计算一遍)
{
	if (ss(i))		// 0 为假, 否则 为真
	{
		printf("%.0lf\n", pow(2, i) - 1);
		flag++;
	}
}

if (flag == 0)
            无梅森数printf("None");
return 0;
}

     ss(int num)判断是否为梅森数
   {
    待判断的数number = pow(2, num) - 1;

for(判断number是否为素数)
{
	if (不是素数)
	{
		return 0;
	}
}
return 1;
}

1.2.2 实验代码截图

1.2.3 造测试数据

|输入数据 |输出数据 |说明
|:--|:--😐:--😐--:
| 0 | None | n=0
| 1 | None | n=1
| 6 | 3 7 31 | 题目所给

1.2.4 PTA提交列表及说明


部分正确:因为没有考虑n=1的情况,所以n=1时没有输出
解决方法:将n=1的情况也考虑进去

2.代码互评(5分)

找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

同学代码截图

同学1

同学2

自己代码截图

同学1:设置了三个出口,将n=1的情况单独的列出来了,是多余的
同学2:是第一的同学的修改版,没有多余的出口
我:运用了函数,使代码看起来更整洁

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 2h 72 输出 对于输出的符号还不熟
第二周 3.5h 57 计算 算法陌生
第三周 3.5h 81 分支结构 分支的逻辑理不清
第四周 1.5h 180 for循环,+= 终止条件理不清
第五周 2h 600 函数结构 对于算法的处理比较迷惑
第六周 2h 1000 嵌套 对于嵌套的结构过多会解读的很吃力
第七周 2h 1246 switch结构 switch结构里的case最后若是不加break会怎么样
第八周 3h 1102 while结构 字符的运用不熟
第九周 3h 1002 循环嵌套 代码思维不够
第十周 3h 999 对于嵌套结构运用不熟练

3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

经过本周的代码学习,发现自己有了些怠慢,本周没能很好的掌握一些新的知识点,之后的没一周我都要学习一些新的知识点,争取走在大家的前面,
并且通过了本周的pta,我发现自己的解题逻辑不是很清晰,之后逻辑不清晰的题目我一定要写在纸上好好理清楚,希望之后能有更大的进步吧!
posted @ 2019-11-28 23:02  尭蔕  阅读(215)  评论(1编辑  收藏  举报