• C语言I博客作业10


    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 C语言I作业10
    我在这个课程的目标是 掌握C语言
    这个作业在那个具体方面帮助我实现目标 对循环语句的练习
    参考文献 《C语言程序设计(第三版)》《算法笔记》

    1.PTA实验作业

    1.1 输出三角形字符阵列

    本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

    输入格式:
    输入在一行中给出一个正整数n(1≤n<7)。

    输出格式:
    输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

    输入样例:

    4
    

    输出样例:

    A B C D 
    E F G 
    H I 
    J 
    
    1.1.1数据处理

    数据表达:本题用了五个整型变量和一个字符型变量,b用来表示大写字母,i用来执行循环,k表示循环终止,a表示输入的数,m用来控制输出的每一行的个数,c用来控制输出的字母。

    数据处理:
    伪代码

    Inout (a);
    将c赋值为-1;
    将字符A赋给b;
    同时m=k=a;
    for(i=1;i<=k;i++)用来打出所需要的行数;
    while(m>0);
    c++;
    Output(b+c);输出一个字符并空格;
    m--;
    while循环结束后令m=a-1;a=a-1;并换行;后再次执行for循环;
    End。
    
    1.1.2实验代码截图

    1.1.3 造测试数据
    输入数据 输出数据 说明
    4 题目的测试样例
    5 随机数
    6 随机数
    1.1.4 PTA提交列表及说明

    提交列表说明:

    1.答案正确:此题一次就过了。

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

    数据表达:本题用了五个整型变量,i,j用来实行循环;n为输入的指数;a用来存放2的n次方-1;flag用来看是否有梅森数
    数据处理:
    伪代码

    对a和falg初始化;
    Inout (n);
    if(n=1)
    output(None);
    for(int i=2;i<=n;i++)输入2到n之间的数
    a=pow(2,i)-1;
    for(int j=2;j<=a/2;j++)输入2到a/2之间的数并用(a%j==0)进行判断是否为素数
    if不为素数flag++;
    if为素数
    output(a)并换行;
    再重新对falg进行初始化;
    End
    
    1.2.2 实验代码截图

    1.2.3 造测试数据
    输入数据 输出数据 说明
    6 题目的测试样例
    13 随机数
    21 随机数
    1.2.4 PTA提交列表及说明

    提交列表说明:
    1.编译错误:失误,少打了个;号。

    1.3挑战进阶题:同构数

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

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

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

    1.3.1 数据处理

    数据表达:本题用了两个整型变量,i用来执行循环,result用来存放i的平方数

    数据处理:
    伪代码

    做一个循环输入数字1到1000;
    计算出数字1到1000的每位数的平方;
    if(result%10==i||result%100==i||result%1000==i)取出右端的数与i作比较,如果与i相等,输出i的值
    END
    
    1.3.2 实验代码截图

    1.3.3 造测试数据
    输入数据 输出数据 说明
    1 5 6 25 76 376 625 题目的测试样例
    1.3.4 PTA提交列表及说明

    提交列表说明:
    1.答案错误:printf时打了个&,尴尬;
    2.格式错误;原本是打的%-6d,习惯性的多大了-,导致结果向左对齐了。

    2.代码互评

    同学代码截图

    自己代码截图

    • 1.这位同学是分开判断是否为同构数,算法复杂,导致代码也长,我只判断一次更香。

    3.学习总结

    3.1 学习进度条
    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    7/7-7/13 10 小时 235 循环语句for的使用以及格式
    8/14-8/20 8小时 197 定义全局变量
    9/21-9/27 17小时 537 函数的调用
    10/28-10/3 16小时 411 数据类型的回顾
    11/4-11/10 24小时 1089 数组以及一些算法
    12/11-12/17 8小时 453 结构体
    13/18-1324 5小时 371 冒泡加sort
    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟
    3.3.1 学习内容总结

    3.3.2 学习体会

    第一次参加学校的编程比赛,我发现我太菜了,还有好多东西要学。

  • 相关阅读:
    Mac 实用工具——迁移助理
    Mac OS 的终端工具 iTerm2 的使用及设置
    Python3的异常捕获和处理
    Python3 文件的重命名
    Linux下jetty的启动和停止
    MySQL使用select查询时,在查询结果中增加一个字段并指定固定值
    使用ThreadLocal请务必remove
    Vue基础-文本显示,v-html插入html代码
    nginx之location(root/alias)&& linux 上修改了nginx.conf 怎么重新加载配置文件生效
    CentOS7开启防火墙及特定端口
  • 原文地址:https://www.cnblogs.com/lidinghong/p/11936058.html
Copyright © 2020-2023  润新知