zoukankan      html  css  js  c++  java
  • C语言I博客作业09

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 C语言I作业09
    我在这个课程的目标是 熟悉好break,continue的用法并熟练运用嵌套语句
    这个作业在那个具体方面帮助我实现目标 在写pta时对题目的理解并解决上
    参考文献 《c程序设计》

    1.PTA实验作业

    1.1 7-1 打印九九口诀表

    下面是一个完整的下三角九九口诀表:
    11=1
    1
    2=2 22=4
    1
    3=3 23=6 33=9
    14=4 24=8 34=12 44=16
    15=5 25=10 35=15 45=20 55=25
    1
    6=6 26=12 36=18 46=24 56=30 66=36
    1
    7=7 27=14 37=21 47=28 57=35 67=42 77=49
    18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
    19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81
    本题要求对任意给定的一位正整数N,输出从1
    1到NN的部分口诀表。
    输入格式:
    输入在一行中给出一个正整数N(1≤N≤9)。
    输出格式:
    输出下三角N
    N部分口诀表,其中等号右边数字占4位、左对齐。
    输入样例:
    4
    输出样例:
    11=1
    1
    2=2 22=4
    1
    3=3 23=6 33=9
    14=4 24=8 34=12 44=16

    1.1.1数据处理

    数据表达:我运用了整型变量n, i, j;其中i为行,j为列,n是所输入的数。
    数据处理:先对行数用一个for循环,再在这个基础上对列数进行循环,使其不能大于行数,再分别对行数大于列数时和列数大于行数时谁在前进行讨论。
    伪代码展示:

    include<stdio.h>

    int main()
    {
    定义整型变量n, i, j;
    输入n;
    for (i = 1; i <= n; i++)
    {
    for (j = 1; j <= i; j++)
    {
    if (行数乘以列数大于等于10)
    {
    printf("%d%d = %d ", j, i, j * i);列数在前,行数在后,输出列数乘以行数;
    }
    else
    {
    printf("%d
    %d = %d ", j, i, j * i)列数在前,行数在后,输出列数乘以行数;
    }
    }
    printf(" ");换行输出;
    }
    return 0;
    }

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    3 11 = 1 12 = 2 22 = 4 13 = 3 23 = 6 33 = 9 1到3的乘法表
    2 11 = 1 12 = 2 2*2 = 4 1到2的乘法表

    1.1.4 PTA提交列表及说明


    多种错误:由于开始没将题目理解透彻,忽视了可能会出现8*6=48这样当行数大于列数时行数仍让在前的类似情况,后加入了if-else的语句进行判断才得以解决。
    格式错误:少打了一个空格

    1.2

    1.2.1 数据处理

    数据表达:定义了整型变量N, i, j, num,和字符型变量c;N为输入的边长,c为输入的字符.i和j用于循环
    数据处理:伪代码展示:

    include <stdio.h>

    int main()
    {
    char c; 定义字符型变量c;N为输入的边长,c为输入的字符,i和j用于循环
    scanf("%d %c", &N, &c);
    num = N / 2.0 + 0.5;对输入的N进行四舍五入
    for (i = 0; i < num; i++)
    {
    for (j = 0; j < n; j++)
    {
    printf("%c", c);输出c
    }
    printf(" ");换行输出
    }
    return 0;
    }

    1.2.2实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    4 a aaaa aaaa 正确
    3 b bbb bbb 正确

    1.2.4 PTA提交列表及说明

    由于在编译器上多次编译过了,所以就没出现错误;但在编译器上我也出现了没给2加上个.0的情况,因为它可能是个奇数,所以除出来就会是小数,所以后改为2.0

    2.代码互评

    同学代码截图

    同学代码截图

    自己代码截图


    1,第一位同学的代码与我的相同之处是在for语句中嵌套了一个for语句,而不同之处就在于他对于输入的数的四舍五入用的是if-else来判断该数除以2是有余数来进行加1的。
    2,第二位同学的代码中只定义了两个变量,而且他的嵌套运用的更加灵活,因为他是分奇数偶数判断来进行运算的,我是直接用num = N / 2.0 + 0.5来对奇数进行变偶,在这点上可能我的更简单一些吧

    3.学习总结

    3.1 学习进度条

    日期/周 这周所花的时间/小时 代码行数 学到的知识点 目前比较困惑的地方
    第四周 5 68
    第五周 6 86
    第六周 15 168
    第七周 7 127
    第八周 20 268 for循环语句 一些符号语句的含义
    第九周 24 298 fact语句 符号的含义
    第十周 26 324 字符型数据类型和逻辑运算符 部分逻辑运算符的含义
    第十一周 20 278 多分支结构switch语句 分支结构内部的区别于联系以及数组
    第十二周 28 422 while语句与do-while语句 do-while语句和数组
    第十三周 25 287 brerak,continue语句和嵌套式语句 基础知识不牢固

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    • 这周学习的是break,continue语句,还有嵌套语句的深入学习,时间过得很快,转眼就要大一就要走过一半了,c语言也马上快结课了,我对自己对知识的掌握的程度都还不是和清楚,可能自学的效率比较低吧,很多基本的语句稍微难点的题就不会用了,趁着离程序设计大赛和期末考试还有一段时间,我得好好恶补一下!加油加油!!!
  • 相关阅读:
    2016/3/28 大三下第一月
    hihoCoder1284机会渺茫(唯一分解定理 + 约分)
    瞬沐队小组会议
    本周编程
    团队简介及团队课题
    本周编程
    Python环境的配置
    疫情图表
    本周编程
    返回一个数组中和最大的子数组
  • 原文地址:https://www.cnblogs.com/FluoxetineX/p/11909254.html
Copyright © 2011-2022 走看看