C语言作业10

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/9832
我在这个课程的目标是 <开发小游戏>
这个作业在那个具体方面帮助我实现目标 <学会switch语句,还有定义新函数>
参考文献 <c语言第二版,【美】布莱恩著>

一.PTA实验作业

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数据处理

数据表达:定义了n,count,i,j,用i对每行字母数的多少进行说明,用j对有多少行进行说明。
数据处理:使用for-for穿插对所需数进行反复运用,直至输出最后一个字母。

伪代码

#include <stdio.h>       

int main()    
{
    int n, count = 0;                       //定义n,count
    scanf("%d", &n);                        //输入n
    for (int i = n; i > 0; i--) {           //对于每行的字母数进行减一运算
        for (int j = 0; j < i; j++) {       //对于有多少行进行计算
            printf("%c ", 'A' + count);     //输出A后面的第几个字母,count为多少,输出就为A后面第几个字母
            count++;                        //对于A后面第几个数字进行累加
        }
        printf("\n");                       //输出空行
    }
    return 0;                               //返回主函数
}

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输入数据 说明
5 说明此三角形从A-O
9 说明此三角形从A-M
3 说明此三角形从A-F

1.1.4PTA提交列表及说明

编译错误:没有空格和逗号忘了。

1.2题目名: 7-4 同构数 (10 分)

一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。

输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。

输出样例:
1 5 6 25 76 376 625

1.2.1数据处理

数据表达:先搬出数学函数,在定义s,m,s用来累加,也就是对1~1000进行逐个算。
数据处理:然后用m对于s算的的条件进行承载,然后判断m的各个位数上是否有一个位数是等于s的。

伪代码

#include<stdio.h>
#include<math.h>                                              //数学函数的调用
int main()                              
{             
    int s, m;                                             //定义s,m
    for(s=1;s<=1000;s++)                                  //对于1~1000的数字逐个计算
    {
        m=pow(s,2);                                   //算出m的值,也就是将s平方
        if((m%10==s)||(m%100==s)||(m%1000==s))        //对于m各个位数上的数字的判断,即有任何一个位数等于s则满足条件
       {
            printf("%6d",s);                      //输出有六个空格间断的s
        }
    }
    return 0;                                             //返回主函数
}

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输入数据 说明
输出1~1000的所有同构数

1.2.4 PTA提交列表及说明

1.格式错误:没有注意空格

二.代码互评

2.1同学代码截图

1.

2.

自己代码截图

1.代码一的比较

1.本质上没什么不同,只是对于累加量的赋值有所不同,还有条件的理解不同。我在前面就将没有的情况想到了,之后再判断是否为素数满足条件。
2.用到了sqrt()

2.代码二的比较

  1. 首先定义的量不同,她用到了flag。
  2. 运用的方法有很大不同。她用到了一些我没看到过的数据如sqrt()不知道啥东西。她还用到了count计数。

    三.学习总结

3.1学习进条度

周/日 这周所花时间 代码行 学到的知识简介 比较迷惑的问题
第四周 10 60
第五周 15 70
第六周 20 100
第七周 25 130
第八周 30 150 学会打累加 有时候打到的知识简介
第九周 35 180 学习了定义新函数 对于新函数的定义不是很理解
第十周 15 256 学了if-else语句 不会灵活应用if-else语句
第十一周 8 342 学了switch语句 不会运用switch语句
第十二周 7 435 学会了do-while语句 对于do-while语句的灵活运用
第十三周 5 324 学会了怎样使用穿插的循坏语句 对于题目的信息分解不行
第十四周 6 333 巩固了循环语句 对于难度大的循环语句还是不能快速掌握

3.2学习内容总结和感悟

3.2.1内容总结

3.2.2感悟

自我感觉越来越熟悉代码的结构与基础了,能够自己打出难度不是很大的代码了。
这让我信心大增,不在是个什么都不会的人了,所以我对以前七八九个小时的敲代码取得如今的一点点小进步而感到值得。
作业虽多但是真的很快乐。
作业量越来越多且难度越来越大,但现在效率有明显的提升。
我希望学习到更多的语句,以及很好玩的代码,我很喜欢打代码的感觉。
我相信自己以后会成功的开发出小游戏程序。
再次对自己说声加油。

猜你喜欢

转载自www.cnblogs.com/ysshhd/p/11950626.html