一、PTA实验作业
题目1:7-4 打印菱形图案
1. 本题PTA提交列表

2. 设计思路
- 1、定义m,n(用于计算空格数,输出“* ”数),i,j,k(用于循环)
- 2、输入n,并让m=n(m是在循环中用来改变输出的空格数)
- 3、for(i=1;i<=n/2+1;i++) 进行前半部分循环,输出菱形上半部分
- 4、for(j=1;j<=m-1;j++) 输出空格数
- 5、for(k=1;k<=2i-1;k++) 输出 数
- 6、每一行结束,换行并且m自减2
- 7、 for(i=n/2;i>0;i--) 菱形下半部分的循环
- 8、m自增2(菱形对称)
- 9、 for(j=1;j<=m+1;j++) 输出空格数,注意这里是m+1
- 10、for(k=1;k<=2i-1;k++) 输出 数
11、每一行结束,换行
3.代码截图

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

2. 设计思路
- 1、定义红包金额money,并输入红包金额大小
- 2、定义y100,y50,y20,y10,y5,y2,y1分别为100元张数,50元张数,20元张数,10元张数,5元张数,2元张数,1元张数
- 3、按题目要求从大到小,将金额从100开始除,计算钱的张数
4、按题目要求输出所有钱币的张数
3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。
2. 设计思路
- 1、定义字符op,result(计算每一个步骤结果),number1(存放最终结果),number2(除第一个数以外的所有数由它输入)
- 2、先输入第一个数和字符
- 3、while(op!=‘=‘) 输入下一个数
- 4、如果是除号后面为零的情况,输出error
- 5、如果不是上面的情况,那么对op判断,是+号进行加法运算,是-号进行减法运算,是*号进行乘法运算,是/号进行除法运算,都不是即为非法字符,输出error(其中result存放每一步结果)
- 6、number1=result,number1是最终结果,要输出的
- 7、再输入下一个字符
8、循环结束,输出结果number1
3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。
三、本周学习总结
1.你学会了什么?
1.1 一维数组如何定义、初始化?
从起始地址开始依次累加相应字节数
2、数组名是一个地址常量,是存放数组内存空间的首地址
1.3 为什么用数组?
数组有表达简洁,可读性好,便于适应循环结构的优点。在需要表达同一类型的大量变量时,用数组更加方便清楚。
1.4 介绍选择法、冒泡法、直接插入排序如何排序?伪代码展示.
- 1、选择法:
- 从第一个数开始for(k=0;k<n-1;k++)
- 将一个数依次与其他数比较for(i=k+1;i<n;i++)
- 比较完后把最小的和第一个数交换if(a[i]<a[index])
- 然后接着下一个数,与后面的数比较,如此循环直到最后一个数
- 2、冒泡法:
- for(k=0;k<n-1;k++) max=k
- for(i=0;i<n-1-i;i++) 第一个数与后面的数依次比较
- if(a[i]>a[max])交换两个数,将大的值存放在a[max]中
- 3、直接插入排序
- for(k=1;k<n-1;k++) j=k
- for(i=k;i>0;i--) i必须从k开始
if(a[j]<a[i-1]) 交换两者的值
1.5 介绍什么是二分查找法?它和顺序查找法区别?
- 1、二分查找法是将要找的数与该数组中间的数比较,以此不断缩小边界直到找到要找的数的位置
2、二分查找法用于有序数组,其优点是查找速度快,而顺序查找法速度慢,但是当数组无序时,无法应用二分查找法
1.6 二维数组如何定义、初始化?
- 1、二维数组包括数组类型,数组名,数组行列长度
2、分行赋初值,顺序赋初值
1.7 矩阵转置怎么实现?方阵中:下三角、上三角、对称矩阵的行标i列标j的关系?请说明。
1、以主对角线为界,行列互换
-2、下三角:i>=j,上三角:i<=j,对称矩阵:i==j
1.8 二维数组一般应用在哪里?
主要应用于表示二维表和矩阵
2.本周的内容,你还不会什么?
- 1、对题目理解力不够,容易犯一些小错误
- 2、对于数组的应用,感觉不是很理解,使用不熟练
3、对于数据排序,不是很明白,了解不够透彻
C语言数据类型作业
原文:http://www.cnblogs.com/wyb123/p/7897129.html