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.本周的内容,你还不会什么?

  • 课堂派最后一题,没用读懂题目意思。说明练的代码还是不够,无法快速领会题意,相处思路。
  • 对数组的行列下标有时还是容易犯习惯性错误。
  • 考试选择题错太多,说明基础知识不扎实。
  • 手写代码不够规范,美观。
posted @ 2017-11-26 13:42  oracler  阅读(336)  评论(3编辑  收藏  举报