• C语言第六次博客作业数据类型


    一、PTA实验作业

    题目1: 7-3 倒顺数字串

    1. 本题PTA提交列表

    2.设计思路

    • (1) 定义两个整型变量i,n,n为输出的数。
    • (2)输入n。
    • (3)若n的值不为1,
      for i=1 to i<=n,
      输出i和一个空格,
      end。
      for i=n-1 to i>1,
      输出i和一个空格,
      end。
      输出1。
    • (4)若n==1,则直接输出1。

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    • (1)没有考虑只输入1的情况。
    • 解决方法:加入if(n==1)的情况。

    题目2:7-7 发红包

    1. 本题PTA提交列表

    2.设计思路

    • (1)定义八个整型变量money100,money50,money20,money10,money5,money2,money1为数量,x为输入的金额
    • (2)输入金额x。
    • (3)money100=money/100 计算100元张数。
    • (4)money50=(x-money100*100)/50;计算50元张数。
    • (5)money20=(x-money100100-money5050)/20;计算20元张数。
    • (6)同理算出money10,money5,money2,money1。
    • (7)输出对应金额的张数。

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    • (1)刚开始答案错误错误。
    • 解决方法:改正计算。
    • (2)格式错误。
    • 解决方法:看好要求改正。

    题目3:7-10 简单计算器

    1. 本题PTA提交列表

    2.设计思路

    • (1)定义五个整型变量ch,i,result,number,flag=0。ch为输入的字符,number为计算的数,result为结果。
    • (2)输入一个result ,再输出字符ch。
    • (3)while(ch!=0)
      输入数字number,
      若ch'=',则跳出循环。
      若ch
      '/',若输入的number为0,则flag=1;若输入的number!=0,则result=result/number。
      若ch为其它的四则运算符号,则计算result=result ch number。
      若ch为非法字符,则flag=1。
      输入ch。
      end.
    • (4)若flag=1,则输出ERROR。
    • (5)若flag=0,则输出result。

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    • (1)没用判断除法分母为0的情况。
    • 解决方法:利用flag来判断输出。

    二、截图本周题目集的PTA最后排名

    三、本周学习总结

    1.你学会了什么?

    1.1 一维数组如何定义、初始化?

    • 数组类型 数组名[数组长度]。
    • 数组长度是一个整型常量表达式,必须有确定的值。
    • 数组中有若干元素,可以在{}中给出各数组初值,各初值之间用逗号隔开,把{}中初值依次赋值给各元素。

    1.2 一维数组在内存中结构?可画图说明。数组名表示什么?

    • 数组名是一个地址常量,存放数组内存空间首地址。

    1.3 为什么用数组?

    • 在程序中使用数组,可以让一批相同类型的变量使用同一个数组变量名,用下标来相互区分。表达简洁,可读性好,便于使用循环结构。

    1.4 介绍选择法、冒泡法、直接插入排序如何排序?伪代码展示.

    选择法:

    • 1.将输入数依次赋给数组a。
      2.for(i=0;i<n-1;i++)
      min=i, min为最小值所在下标。
      for(j=i+1;j<n;j++)
      if a[j]<a[min],则a[j]与a[min]值互相交换。
      end。
      end。
      3.输出。

    冒泡法:

    • 1.将输入数依次赋给数组a。
      2.for(i=0;i<n-1;i++)
      max=i ,max为最大值所在下标。
      for(i=0;i<n-1-i;i++)
      if a[i]>a[max],则a[i]与a[max]值互相交换。
      end.
      end。
      3.输出。

    直接插入法:

    • 1.将输入数依次赋给数组a。
      2.for(i=1;i<n-1;i++).
      k=i
      for(j=i-1;j>0;j--)
      if a[k]<a[j],则a[k]与a[j]值互相交换.
      end.
      end.
      3.输出。

    1.5 介绍什么是二分查找法?它和顺序查找法区别?

    • 每次都将区间分成两半,判断查找的数所在区间,多次折半,直到找到该数或无法折半。
    • 二分法要求数组按顺序排列,但二分法的运行效率比较高。

    1.6 二维数组如何定义、初始化?

    • 定义:数组类型 数组名[数组行长度][数组列长度]
    • 初始化:用嵌套循环输入

    1.7 矩阵转置怎么实现?方阵中:下三角、上三角、对称矩阵的行标i列标j的关系?

    • 调换行列的下标,如a[i][j]转换为a[j][i]。
    • 上三角:i<=j
    • 下三角:i>=j
    • 对称矩阵:a[i][j]==a[j][i]

    1.8 二维数组一般应用在哪里?

    • 矩阵问题

    2.本周的内容,你还不会什么?

    • 课堂派最后一题,没用读懂题目意思。说明练的代码还是不够,无法快速领会题意,相处思路。
    • 对数组的行列下标有时还是容易犯习惯性错误。
    • 考试选择题错太多,说明基础知识不扎实。
    • 手写代码不够规范,美观。
  • 相关阅读:
    在WPF中判断是是否为设计时模式(转)
    后缀数组小结
    运算符重载,输出流运算符重载
    ZOJ 3699
    米勒罗宾大素数测定
    FZU 2109 Mountain Number 数位DP
    考试复习
    java文件输入输出
    纯虚函数与抽象类
    转载:stream iterators C++ 用法
  • 原文地址:https://www.cnblogs.com/oracler0103/p/7898702.html
Copyright © 2020-2023  润新知