• C语言I博客作业10


    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 C语言I博客作业10
    我在这个课程的目标是 熟悉代码的编程,设计出一个小程序,能够正常运行并且能够拥有一定用户
    这个作业在哪个地方具体方面帮助我实现目标 选择合适的算法、合理的循环结构,熟练的编写程序
    参考文献 同构数 long函数 abs函数 时间复杂度和空间复杂度

    1.PTA实验作业

    1.题目名(输出三角形字符阵列 )

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

    4
    

    输出样例:

    A B C D 
    E F G 
    H I 
    J 
    

    1.1.1数据处理

    数据表达:用到了三个整型变量,n用来作为题目的输入值,i代表行,j代表列;用到了字符型变量c,c用来赋值字符
    数据处理:伪代码

    
    #include<stdio.h> //头文件
    int main()       //函数名
    {
        int n,i,j;  //定义三个整型变量
        char c;    //定义字符型变量 c
        c = 'A';   //给变量c赋值A
        scanf("%d", &n);
        for(i=1;i<=n;i++)  //进行行的循环
        {
            for(j=i;j<=n;j++)  //进行列的循环
            {
                printf("%c ", c); //打印字符
                c++;   //字符自增
            }
            printf("
    ");  //输出换行
        }
        return 0;
    }
    
    

    1.1.2实验截图代码

    1.1.3造测试数据

    输入数据 输出数据 说明
    4 能形成三角形
    3 能形成三角形
    5 能形成三角形

    1.1.4 PTA提交列表及说明

    说明:
    Q1:多种错误
    A1:编译代码错误,格式错误,改用了字符型变量编写代码

    1.2题目名(梅森数)

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

    数据表达:用到了四个整型变量 num用来表示素数,n表示输入值次方,i,j用来循环,count用来计数梅森数
    数据处理:伪代码

    #include<stdio.h> //头文件
    #include<math.h> //该编程中用到了数学
    int main()   //函数名
    {
        int num,n,i,j,count=0;  //定义四个整型变量
        scanf("%d",&n);
        for(i=2;i<=n;i++)      //进行循环
    	{
           num=pow(2,i)-1;     //表示素数
           for(j=2;j<=sqrt(num);j++)   //进行循环
           if(num % j==0) break;     //如果为假,则跳出循环
           if(j>sqrt(num))      //  判断是否为梅森数
    	    {
            printf("%d
    ",num);  //打印梅森数
            count++;    //梅森数自增
            }
        }
        if(count==0)     //没有梅森数
    	printf("None");   //输出 None
    return 0;
    }
    

    1.2.2实验截图代码

    1.2.3造测试数据

    输入数据 输出数据 说明
    4 梅森数为3,7
    5 梅森数为3,7,31
    6 梅森数为3,7,31

    1.2.4PTA提交列表及说明


    说明:Q1:编译错误
    A1:代码书写不正确,循环的嵌套没有使用好,处理素数开始直接写的pow(2,i)-1,后来将pow(2,i)-1复制给了num

    1.3题目名

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

         1     5     6    25    76   376   625
    

    1.3.1数据处理

    数据表达:用到了长整型变量a,b,for循环和if语句的嵌套
    数据处理:伪代码

    #include<stdio.h>   //头文件
    int main()     //函数名
    {
        long a,b;   //定义两个长整型变量
        for(a=1,b=0;a<1000;a++)   //进行循环
        {
        b=a*a;       //  判断同构数(一个数恰好出现在它的平方数的右端)
        if(b%10==a||b%100==a||b%1000==a)   //找出1~1000中所有的同构数
        printf("%6d",a);   //打印所有的同构数并按照每个数输出占六个空格的形式
        }
       return 0;
    }
    
    
    

    1.3.2实验截图代码

    1.3.3造测试数据

    输入数据 输出数据 说明
    1 5 6 25 76 376 625

    1.3.4 PTA提交列表及说明

    说明:Q:编译错误
    A:没有注意每个数输出占6列,代码思路也没有弄清晰

    2代码互评

    1.同学代码截图

    2.自己代码截图

    说明:1.他是先定义了整型变量最后转换为字符型输出,而我是从一开始就直接定义了字符型变量,并用字符型变量直接赋值
    2.我的代码比他的更加简单

    3.同学代码截图

    4.自己代码截图

    说明:1.该同学先写出来当值为1时输出None,然后进行初始输入值为2的循环,而我是初始值赋为2进行循环判断有无梅森数
    2.我和他用的的判断方法不同,他是用余数判断,而我的用到了根式判断

    3.学习总结

    3.1学习进度条

    周/日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
    4/2019.9.21 7个小时 50 编程“hello word” 初次接触对代码很迷惘,不知道表示的是什么意思
    5/2019.10.2 8个小时 100 安装gcc编译器,将代码建在自己的文件里 如何安装的程序不明白
    7/2019.10.11 10个小时 200 三种表达式,printf流程和scanf流程,if-else语句 scanf流程还是不太明白
    8/2019.10.17 20个小时 350 使用for循环语句数的循环程序设计 for循环语句的结构还是有点困惑
    9/2019.10.25 25个小时 550 使用while语句循环,自定义函数,参数 自定义函数还是·不太明白
    10/2019.11.1 20个小时 700 熟悉多分支结构、字符型数据类型和逻辑运算符 关于字符型的代码还是不太明白
    11/2019.11.7 15个小时 1000 熟悉多分支结构switch语句的使用 对swith语句的使用还有一定的困惑
    12/2019.11.15 14个小时 1200 熟悉使用while和do-while结构解决问题 对while语句的使用还有一定的疑惑
    13/2019.11.21 15个小时 1450 熟悉break、continue的使用,熟悉使用循环的嵌套解决问题 对continue的使用不够熟练,还有很大疑惑
    14/2019.11.28 20个小时 1660 选择合适的算法、合理的循环结构,熟练的编写程序 对字符型函数和abs函数还不是太懂

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    请用思维导图的形式将到目前为止所学的内容进行整理

    3.3.2学习体会

    代码越来越难了,这次通过写代码,查阅资料,接触到了新的函数,新的long函数和abs函数还需要自己多花点时间去琢磨琢磨,感觉代码的世界越来越奥妙了,自己还有很多要学的地方;
    感觉时间很不够用,最近作业很多,事情也很多,有时候走在路上,脑子里面想的都是代码,走路时候手机看的也是代码,还是感觉自己的悟性还不够,还需要加大自学的力度,抓住空闲的时间

  • 相关阅读:
    maven的.m2文件夹
    maven parent.relativePath
    GoLang structTag说明
    Mac下如何用SSH连接远程Linux服务器
    String.split
    Laya 类列表加载优化
    JavaEE JDBC 了解数据库连接池
    JavaEE JDBC 了解JNDI
    JavaEE JDBC 事务
    JavaEE JDBC RowSet行集
  • 原文地址:https://www.cnblogs.com/lzy2000----/p/11943037.html
Copyright © 2020-2023  润新知