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.本周的内容,你还不会什么?
- 课堂派最后一题,没用读懂题目意思。说明练的代码还是不够,无法快速领会题意,相处思路。
- 对数组的行列下标有时还是容易犯习惯性错误。
- 考试选择题错太多,说明基础知识不扎实。
- 手写代码不够规范,美观。