C语言I博客作业10
作业头
这个作业属于哪个课程 | C语言程序设计II |
这个作业的要求在哪里 | C语言I作业10 |
我在这门课程的目标是 | 学好C语言为学习以后学习其他的语言做准备 |
这个作业在那个具体方面帮助我实现目标 | 对while循环语句的运用,思考能力等 |
参考文献 | 《C语言程序设计I》,Dev-c++. |
1.PTA实验作业
1.1输出三角形字符阵列
1.题目内容描述:
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。如输出样式:4
A B C D
E F G
H I
J
1.1.1数据处理.
- (1).定义了 n(为输入正整数的值),i为增量,两者都是整型;还定义了c=‘A’(为输出的A B C D~~)为字符型。
- (2).运用了while()循环语句,for()循环语句,putchar()字符型转换语句。
2.数据处理: - (1).循环结构. while(n),for(i=1;i<=n;i++)。
- (2).运算处理.c='A';n--;c++。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
1.1.4 PTA提交列表及说明
- 1运行超时:两次运行超时都是没有限制最后的循环,后面发现了要将n不断地递减,就可以达到停止循环的目的了。
1.2 求梅森数
1.题目内容描述:
形如2^n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。
输出格式:按从小到大的顺序输出所有不超过2^n−1的梅森数,每行一个。如果完全没有,则输出“None”。
1.2.1数据处理.
1.数据表达:
- (1).定义了s,n(为输入整数的值),i为增量,m用于判断是否为梅森数的变量,a=0计算梅森数的总数;
- (2).运用了数学函数:sqrt(),pow(),for()循环,if-else分支结构。
2.数据处理: - (1).循环结构.
for(i=2;i<=n;i++)
for(m=2;m<=sqrt(s);m++) - (2).分支结构.
if(s%m0)
{
break;
}
if(m>sqrt(s))
{
printf("%d\n",s);
a++;
}
if(a0)
printf("None"); - (3).运算处理.
s=pow(2,i)-1;
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
1.2.4 PTA提交列表及说明
- 根据PTA提交列表,简要描述调试程序碰到的问题及解决办法.
- 1答案错误:没有将变量m从二开始运行,而是从一开始的;
- 2格式错误:没有将输出的梅森数一排一个数的排好,所以导致了格式错误。
2.代码互评
1同学代码截图
2同学代码截图
3自己代码截图
与第一位同学的区别
- 1与第一位同学的区别在于他定义的变量都是整型,其实她是在printf()内已经定义了字符型,有创意,还有她把i--,j++,写到了外面,未写到for()内,感觉有点麻烦。
与第二位同学的区别 - 1与第二位同学的区别在于她用了两个for()循环,复杂点但易懂,我只用了一个for()是因为我在后面编写了n--的代码。
3.学习总结
3.1学习进度条
时间 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
第一周 | 16个小时 | 28行 | 学到了编写代码的基本知识,如:顺序结构 | 符号(英)与(汉)混淆 |
第二周 | 20个小时 | 20行 | 学到了运算符,赋值 | 主要是赋值,在printf中“="左右要空格其他就不用了 |
第三周 | 23个小时 | 98行 | 学到了分支结构(if-else),&&,%,幂运算pow,平方根sqrt | 对一些新知识不能马上运用 |
第四周 | 16个小时 | 70行 | 学到了for语句,求小数点(要求用1.0来除以···),还有该变正负号知识 | 现在没问题了,在scanf()内&n&m之间要用“," |
第五周 | 26个小时 | 62行 | 学到了while循环语句,定义函数和调用函数的运用. | 在定义函数后不知道如何运用 |
第六周 | 22个小时 | 154行 | 学到了if-else if-else的深入使用、用代码解决数学(函数)问题、如求一个数的个,十,百,千位等,还有求成绩的平均值,龟兔赛跑谁快谁慢 | 对想表达的意思不能够很好的用代码表达 |
第七周 | 20个小时 | 136行 | 学到了switch语句的使用,虽然if-else分支结构可以完全取代switch的语句,但是switch也有它的优势,少量选择比较快捷。 | 对switch语句中不清楚如何嵌入if-else结构 |
第八周 | 24个小时 | 98行 | 熟悉了do-while的运用,和while的运用 | 对while还不能够熟练的运用 |
第九周 | 20个小时 | 78行 | 知道了i--的用法与i++的用法很相似,还有如何控制数据间的间隔也明白了,清楚了for()循环的多次使用 | for()循环的多次使用还不是很熟练 |
第十周 | 25个小时 | 111行 | 加深了对幂运算pow,平方根sqrt运用,还有如何编写代码使之输出为菱形,三角形的图案等等 | 对题目的要求还是不太清楚如何用代码编写 |
3.2累计代码行数和博客字数.
请用思维导图的形式将到目前为止所学的内容进行整理。
3.3.2学习体会
加深了对幂运算pow,平方根sqrt运用,还有如何编写代码使之输出为菱形,三角形的图案等等,还有作业不能够拖,要及时完成,因为自己想做作业的时候,可能会有一些事情要做,从而导致没有什么时间写作业,这是很痛苦的,让一个人疲惫,焦虑。