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.本周的内容,你还不会什么?
- 还是不能很好的去分析代码,读懂代码如课堂派预习作业的那题补全代码
找不到思路 - 考试考的不理想说明基础知识不扎实,代码规范性也不够好。