C语言Ⅰ博客作业10
这个作业属于那个课程|C语言程序设计II
--|:--😐--:
这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097
我在这个课程的目标是|熟练掌握C语言基础
这个作业在哪个具体方面帮助我实现目标|掌握C语言知识,有效的完成PTA作业
参考文献|C语言程序设计,https://www.cnblogs.com/imhaiyang/articles/4809724.html
1.PTA实验作业
1.1 题目名1
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
输出样例:
1 5 6 25 76 376 625
1.1.1数据处理
数据表达:用了n,i两个变量,i的值是通过不断循环加1得到,n的值是通过等式n=pow (i,2)得到的,都是整型变量。
数据处理:
伪代码:
int i,n; /*定义两个变量i,n*/
for i←1 to 1000 /*由题意知,i属于1-1000*/
do n←pow(i,2) /*把n赋值为i的平方数*/
IF i<=10 THEN /*i是1-1000内的数,分别把它分成个位数,十位数,百位数判断同构数*/
do IF i=n%10 THEN
do printf ("%6d",i); /*题目要求每个数输出占6列,用%6d表示*/
IF i>10 and i<=100 THEN
do IF i=n%100 THEN
do printf ("%6d",i);
IF i>100 and i<=1000 THEN
do IF i=n%1000 THEN
do printf ("%6d",i);
1.1.2实验代码截图
1.1.3 造测试数据
输入数据|输出数据|说明
--|:--😐:--😐--:
无||1~1000之间的全部同构数
1.1.4 PTA提交列表及说明
1.答案正确.在看这个题的时候,我知道有一种很简单的方法可以完成它,不过那个意义不大。先在Dev-C++上写的,在同学的指导下不停的试改,后面终于输出
1-1000内全部的同构数。
1.2 题目2
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:输入在一行中给出一个正整数n(1≤n<7)。
输出格式:输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:4
输出样例:
A B C D
E F G
H I
J
1.2.1 数据处理
数据表达:用了n,i,x,j,ch五个变量;i的值是通过不断循环加1得到;n的值是输入得到的;j的值是通过j=n-i+1和j--得到的;ch,x一开始分别赋值了A,0,
后面通过循环不断改变;n,i,x,j是整型变量,ch是字符型。
伪代码:
int n,i,x,j; /*定义四个整型变量i,n,x,j*/
char ch; /*定义字符型ch*/
scanf ("%d", &n); /*调用scanf()函数输入n*/
ch←'A'
x←0
for i←1 to n /*循环嵌套,开始循环*/
do for j←n-i+1 to 0
do printf ("%c",ch+x); /*ch+x通过循环得出大写字母*/
x←x+1
printf ("\n");
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据|输出数据|说明
--|:--😐:--😐--:
4||与输出样例一样运行正确
1||输入最小值运行检查代码是否运行正确
6||输入最大值运行检查代码是否运行正确
1.2.4 PTA提交列表及说明
1.答案正确:这个题目用到了字符型,真的不太会用,看了书后,在Dev-C++上写的还是有错误,自己想的太简单了,在很多格式上都不太正确,同学帮我改了一
个地方后,在Dev-C++上就对了,现在还不太懂改正的那个地方。
2.代码互评
同学代码截图1|自己代码截图
--|:--😐:--:
|
同学1的代码for循环里面有while循环,for循环,if语句,if语句里面在判断平方数的右端是否等于那个数;内层for循环在确定if语句里面平方数除的数;没太看懂while循环的意思。我的代码for循环里面用了if语句的嵌套,是通过把数分成三种类型来判断同构数的。同学1的代码技术含量高一点,哈哈。
同学代码截图2|自己代码截图
--|:--😐:--:
|
同学2的代码还构建了一个函数,主函数用if语句判断数的平方数的右端是否是它,在自定义函数输出所有满足条件的同构数,每个数输出占6列。
3.学习总结
3.1 学习进度条
周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题
--|:--😐:--😐:--😐:--😐--:
第14周/11.29|两天|130|读代码|continue语句怎么使用
第13周/11.22|两天|99|循环嵌套,break语句,continue语句|伪代码的正确示范?打代码时什么时候要空格,什么时候不要
第12周/11.14|两天|107|whlie语句,do-whlie语句的使用方法,伪代码|不太清楚字符型的使用方法
第11周/11.9|一天|137|switch语句|scanf语句在int后面和在for或其他语句后面有什么区别吗
第10周/11.4|一天|112|if语句的嵌套,字符型,逻辑运算符|怎么活用已学知识点做PTA
第9周/10.25|一天半|88|函数的定义,调用|“/=”是什么意思
第8周/10.18|两天左右|84|循环结构,for语句|在Dev-C++里面正确的代码到PTA上是答案错误怎么解决
第7周/10.8-10.12|两天左右|49|scanf()函数,if-else语句,常用的数学函数,关系运算符...|PTA作业怎么能好好的做完!
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这周做PTA都是在Dev-C++上先做的,一般编译的时候没有错误,就是逻辑错误,想的不全面。看到作业要求最后一题是挑战题,感觉会很难,不过我去做了一下也没有很难啊!我是找规律写出来的。发现有时候好多作业都是有规律的,认真一点大概能做出来。不过这次作业第一题真的有点难,我还没太懂。感觉读代码写代码对我来说还是有点困难,要多练练了。抓紧时间复习巩固旧知识。