C语言I博客作业10

一、表格


问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095
我在这个课程的目标是 学习好C语言,熟练掌握编译代码的相关技巧,解决自己所遇到的问题
这个作业在那个具体方面帮助我实现目标 熟练循环结构的使用,熟练的编写程序。
参考文献 百度,C语言程序设计,《C Primer Plus》

二、本周作业


1.PTA实验作业

1.1 题目名1 输出三角形字符阵列

题目内容:

本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D 
E F G 
H I 
J 

1.1.1数据处理

int n,i,j,count=0;
定义整型变量,n是输入的数,i是行数,j是列数,count用于累加
 char ch;
定义字符型,用于后面的输出
scanf("%d",&n);
输入n的值
for(i=n;i>0;i--)
for(j=i;j>0;j--)
用于行和列的循环
printf("%c ",'A'+count);
输出n行由大写字母A开始构成的三角形字符阵列
count用以累加

1.1.2实验代码截图

1.1.3 造测试数据

1.1.4 PTA提交列表及说明

提交列表说明:

1.答案错误:在重新定义增加一个变量count,并且令count=0;并且在for语句中增加count++语句用来逐渐加一。
2.答案正确:。。。。

1.2 题目2 梅森数

题目内容:

1.2.1数据处理

#include<stdio.h>
#include<math.h>
int n,i,a,y=0,count=0;
定义整型变量,count用于计数,n是输入的数,y用于计算梅森数,a和i用于循环
输入n的值
if(n==1)
判断n是否等于一,如果等于则进行输出None
for(a=2;a<=n;a++)
用以循环,并且a<=n,从小于n的数开始一个个进行循环
令count=0;
for(i=2;i<y/2;i++)
让除数从二开始,进行循环,并且进行累加
if(y%i==0)
判断y%i取余是否等于零
count进行不是素数的累加,并且进行跳出
if(count==0)
判断count是否等于零
进行梅森数的输出

1.2.2 实验代码截图

1.2.3 造测试数据

1.2.4 PTA提交列表及说明

提交列表说明:

1.部分正确:将if(y!=1&&j>i/2)语句改正为if(y!=1&&y%j!=0)语句
2.部分正确:经过在devC++上反复测试后明白了一些问题,因为1不是素数,所以不管怎么样只要输入的是大于1一的数就会有素数的存在,所以增加语句if(n==1)
           printf("None");
3.答案正确:。。。

挑战题 同构数

题目内容:

一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
输出样例:
     1     5     6    25    76   376   625

1.3.1数据处理

#include<stdio.h>
#include<math.h>
 int number,i;
定义整型变量,i是从一开始的数,用以累加,number用于i的平方数
for(i=1;i<=1000;i++)
i从一开始逐渐增加,并且i的最大值为1000,进入循环
if语句用来判断平方数的右端是否等于i
输出满足条件的i

1.3.2 实验代码截图

1.3.3 造测试数据

输入样例 输出样例 说明
1 5 6 25 76 376 625 验证题目所给数据

1.3.4 PTA提交列表及说明

说明:刚开始不理解什么是同构数,但后来查了一下资料才明白说明是同构数;在运行的时候也总是少输出一个数,后来在devc++上调试之后才发现自己的错误,改正之后在Pta上就一次性对了。

2.代码互评

同学代码一:

自己代码一:

代码比较:

1.自己的代码和同学的代码总的思路上没差不多的,只是定义变量不一样。
2.我运用了#include<math.h>,二而同学的则没有用也写出来了,这就导致同学的看起来比较的简洁。
3.我比同学多运用了一个数学表达式,用来计算平方后的数,而同学的是直接在if语句中进行运算,没有单独列出来。

同学代码二:

自己代码二:

代码比较:

1·其实俩份代码的总的思路是差不多的我觉得,只是写出来的方法有所不同,所以看起来有所不同。
2.我的代码中是用for语句进行素数的计算,而同学的则是用while进行素数的计算。
3.我运用了break 进行跳出,而同学并没有运用到。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周(9.19-3.27) 四天 40 Hello world编程和Markdown语法 对待大部分内容都不理解
第二周(9.25-10.4) 四天 35 华氏度与摄氏度的转换 不理解数据类型
第三周(10.8-10.11) 三天 90 if-else语句、格式化输入语句 分不清整型变量和浮点型变量
第四周(10.15-10.17) 三天 100 有关for循环体的运用 有时候不清楚循环体是什么
第五周(10.22-10.25) 三天 130 使用自定义函数来编程和生成乘方表和阶乘表 不知道如何调试函数以及在哪里设置断点
第六周(10.30-11.2) 四天 180 分支结构、字符型数据类型 对待字符型题目还是不能够准确理解
第七周(11.06-11.08) 三天 190 学会多分支结构switch语句的使用 有时不能准确理解case后的有些语句
第八周(11.13-11.15) 三天 200 学会使用while和do-while结构解决问题 不能准确判断while的循环条件
第九周(11.20-11.22) 三天 195 学会break、continue的使用以及循环的嵌套 有时候对循环条件判断错误
第十周(11.26-11.27) 两天 215 熟悉并且练习循环结构的使用 有时候不能准确判断运用哪一种结构较为简单

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

1.在这一周我们主要是对我们这几周的学习进行了一下总结,并且进行了一个简单梳理。
2.主要是总结了if-else语句,for语句,while语句,do-while语句,break,continue的不同之处以及一些相同点。
3.在上课时老师主要讲述了一下有关考试的相关事宜,老师说到时候会有编程题,而且是三道,听完之后有点慌了,因为自己的打字速度比较的慢,害怕到时候写不完。所以说在考试之前的这段时间里我一定要加快一下自己的打字速度。并且一定要做好复习工作。加油!

posted on 2019-11-27 23:54  欣欣以向荣  阅读(331)  评论(11编辑  收藏  举报

导航