C语言博客作业--数据类型

一、PTA实验作业

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

1. 本题PTA提交列表

2.设计思路

  • 定义变量i,j,n放输入的数
  • 输入n的值
  • 如果n的值为1,直接输出1
  • 如果n的值不为1
    for(i=1;i<=n;i++)
    执行n次循环,每次输出i的值和一个空格
  • for(j=n-1;j>0;j--)
    执行n-1次循环每次输出j的值,
    如果j不为1,后面每次再输入空格

3.代码截图

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

  • 部分错误:改代码开始时当n=1时的情况输出错误。
  • 解决:因为只有一种情况所以用了一个分支来特殊说明。

题目2:7-7 发红包

1. 本题PTA提交列表

2.设计思路

  • 定义money放输入的金额,hunderd放100元张数,fifty放50元张数,twenty放20元张数,ten放10元张数,
    five放5元张数,two放2元张数,one放1元张数。
  • 输入金额
  • hunderd=money/100 计算100元张数
  • fifty=money%100/50; 计算50元张数
  • twenty=money%100%50/20; 20元
  • ten=money%100%50%20/10; 10元
  • five=money%100%50%20%10/5; 5元
  • two=money%100%50%20%10%5/2; 2元
  • one=money%100%50%20%10%5%2; 1元
  • 输出对应金额的张数

3.代码截图

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

格式错误:在输出答案时忽略了后面跟着的“张”,导致格式错误

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

1. 本题PTA提交列表

2.设计思路

  • 定义number,a,flag=0,sum
  • char c;
  • 输入字符碰到“=”停止输入
  • 判断输入的符号是四则运算哪个就进行该运算,并累加值
  • 如果是除法,输入的分母为0,就输出ERROR
  • 输出sum的值

3.代码截图

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

部分正确:开始的代码缺少了除法分母为0输出错误的情况。

  • 后面设一个flag用来解决这一情况

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

三、本周学习总结

1.你学会了什么?

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

  • 定义:数组类型 数组名[数组长度]
  • 数组后跟的是确定的值,可以定义如:a[n],但n要先定义输入

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

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

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

选择法:

  • 1.for k=0 to n-2
    2.下标为k的值设为最小值min
    3.for i=0 to n-1 if a[i]<min a[i]变为min
    4.min的值给a[j]

冒泡法:

  • 1.for j=0 to n-3
    2.for i=0 to n-2 if a[i]>a[i+1] 交换a[i] a[i+1]

直接插入法:

  • 1.从第二个数开始
    2.如果比前一个数小,交换到前一个位置
    3.重复2,直到该数前面没数字或者前面的数比它大

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 11:08  圣多美  阅读(219)  评论(6编辑  收藏  举报