• C语言I作业10


    一、本周作业头##

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095
    我在这个课程的目标是 熟练掌握好C语言,培养自己的思维能力,同时加快敲代码速度。
    这个作业在那个具体方面帮助我实现目标 可以帮助进行的字符编程的运用
    参考文献 百度百科、CSDN博客、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数据处理####

    数据表达:用了char x='A';int i,j,n;其中char x='A'表示定义字符X且赋值为A,i,j分别表示循环起点,n表示输入的整数。
    数据处理:

    Begin
    #include<stdio.h>
    int main ()
    {
        char x←'A';
        int i,j,n;
        scanf("%d",&n);
        for i←1 to n
            for j←1 to n-i+1
                printf("%c ",x);
                x←x+1;
            }
            printf("
    ");
        }
         End
    

    1.1.2实验代码截图#####

    1.1.3 造测试数据####

    输入数据 输出数据 说明
    n=4 该三角形行有四行
    n=5 该三角形行有五行
    n=6 该三角形行有六行

    1.1.4 PTA提交列表及说明####


    格式错误:printf("%c ",x);写成了printf("%c",x);
    格式错误:printf("%c ",x);写成了printf(" %c ",x);

    **梅森数 **####

    输入格式####

    输入在一行中给出正整数n(n<20)。

    输出格式####

    按从小到大的顺序输出所有不超过2​n​​−1的梅森数,每行一个。如果完全没有,则输出“None”。

    输入样例:####

    6

    输出样例####

    3
    7
    31

    1.2.1数据处理####

    数据表达:int n,i,j,number,count=0;其中n代表输入的正整数,i,j代表循环起点;number代表梅森数;count代表梅森数的个数。
    数据处理:

    Begin
    #include<stdio.h>
    #include<math.h>
    int main ()
    {
        int n,i,j,number,count=0;
        scanf("%d",&n);
        for i←2 to n
            number=pow(2,i)-1;
               for j←2 to number/2
                   if number%j ← 0
                        break;
                        if(j>=number/2){
                            printf("%d
    ",number);
                            count++;
                        }      
               }
               if count ← 0
                   printf("None");
               }
               End
    

    1.2.2实验代码截图#####

    1.2.3 造测试数据####

    输入数据 输出数据 说明
    n=6 当n=6时有三个梅森数
    n=1 None 当n=1时,1不属于素数,所以无梅森数。
    n=8 当n=8时有四个梅森数

    1.2.4 PTA提交列表及说明####


    答案错误:这个题我是一直在Dev上运行然后再放到PTA上的,所以没有错误,但在用Dev运行的时候,我开始无论怎么修改for循环语句中的语句答案输出都是None;
    开始以为是判断素数的条件写错了,又翻了下书本内容发现并没有什么错误,后来根据一个循环一个循环来看,发现第一个循环后面忘打了大括号,导致后面的语句都
    没有执行,以至于答案一直都是None。

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

    输入格式####

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

    输出样例####

     1     5     6    25    76   376   625
    

    1.3.1数据处理####

    数据表达:用了int i,num;其中i代表循环起点,num代表同构数。
    数据处理:

    Begin
    #include<stdio.h>
    #include<math.h>
    int main ()
    {
        int i,num;
        for i←1 to 1000
            num ← pow(i,2);
            	if num%10 ← i||num%100 ← i||num%1000 ← i 
                printf("%6d",i);	
    			}  
         End
    

    1.3.2实验代码截图#####

    1.3.3 造测试数据####

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

    1.2.4 PTA提交列表及说明####

    编译错误:开始定义时定义的是number,后再取余的时候使用的是num。
    编译错误:多定义了一个j,却没有使用j.
    格式错误:printf("%6d",i);写成了printf("%d",i);导致格式错误。
    答案错误:在修改的过程中,不小心把for循环后的大括号去除了。

    2.代码互评###

    自己代码 同学代码

    不同点:####

    1.该同学使用了自定义函数使程序变得更加简单,而我是使用循环的嵌套直接作答。
    2.但是该同学使用自定义函数多用了一个循环,在运行的速度上面我的要快一些。

    自己代码 同学代码

    不同点:####

    1.我的代码定义的是字符A,而该同学运用字符型定义x=64而字符A的ascll值就是64。表达方式不一样
    2.我的代码中for(j=1;j<=n-i+1;j++)而该同学的是for(j=1;j<=n-i;j++),我的j<=n-i+1表示当n等于i时,还能取j=1。

    3.学习总结###

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    10/8-10/12 5h 224 if-else语句和输入输出格式 变量的处理
    10/13-10/18 12h 263 for循环语句,如何计算累加题 不知道什么时候用include<math.h>
    10/19-10/26 15h 334 如何编写自定义函数及更加熟练掌握for循环 自定义函数的使用
    10/26-11/2 14h 355 如何使用逻辑表达式及else-if语句 如何去寻找else-if之间的关系
    11/2-11/8 13h 284 如何使用switch语句 switch语句与for循环同用时的关系
    11/9-11/15 16h 231 使用while语句以及字符型变量的输入输出,#include<string.h>的使用 数组的使用
    11/16-11/22 10h 203 使用循环的嵌套解决问题,以及break,continue语句 在多个循环中如何输出换行
    11/23-11/29 12h 326 通过使用字符型变量进行解题 字符的输入与输出

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会
    这周的学习,相当又重新的把以前的知识点进行了一遍巩固,依然是使用for循环进行解决问题;同时又用到了以前所学习的知识,比如while语句;以及素数判断的条件;
    然后现在更加注重的就是基础知识;只有好好地学习好了基础知识才能更加轻松的学习以后的知识。所以要不断的去复习之前所学习到的知识,温故才能知新。并且同时
    要加强手写代码的能力,以及学会如何进行调试。

  • 相关阅读:
    类对象成员函数的const增强zz
    希腊与罗马神话神名对照
    c++程序调用c函数 and otherwise zz
    百度相信中国电子书下载
    VolatileCorrectness,让编译器帮你检测竞争条件 zz
    高效计算一个bytes有几个byte是1?
    实现mybatis官网入门实例
    Windows Phone 深度探索(一) 带有(伪)元素加载动画的Panel (SlideInPanel)
    You have asked for this, it is basically your fault!
    New EC2 Instance Types of re:Invent 2021
  • 原文地址:https://www.cnblogs.com/zengzi123/p/11937334.html
Copyright © 2020-2023  润新知