7-4 打印菱形图案
1. 本题PTA提交列表(要提交列表,不是结果)


2. 设计思路(用代码表示扣分)
定义循环变量i,j,k,n,打印行数number,
输入要打印的行数number
for(i=1;i<=循环条件;i++)用于控制输出的行数
for(j=1;j<=循环条件;j++)用于控制输出空格数
先输出上半个菱形,输出(number+1)/2行
输出每行前的空格个数,再输出 ,换行。
输出下半个菱形
for(i=1;i<=循环条件;i++)
for(j=1;j<=循环条件;j++)
输出((number+1)/2-1))行, 输出每行前的空格个数,再输出 。
3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)
这是之前的错误代码

4.本题调试过程碰到问题及PTA提交列表情况说明。
7-6 掉入陷阱的数字
1. 本题PTA提交列表(要提交列表,不是结果)

2. 设计思路(用代码表示扣分)
- 定义输入的数字number,sum存放经过计算后的和,flag用于存放上一个产生的新数,digit用于存放取余得到的数,循环变量i,j。
for(i=1;i>0;i++){
将number的值赋给flag
for(j=1;j>0;j++){
对number取余,取出number的每一位数后进行运算sum=sum+digit;sum=sum*3+1;
输出i:sum的值。
将sum的值赋给number,将sum再次赋值为0。
进行判断 if(flag==number)及当前运算所得数与上一个数相等时退出循环。}
3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

4.本题调试过程碰到问题及PTA提交列表情况说明。
7-10 简单计算器
1. 本题PTA提交列表(要提交列表,不是结果)
2. 设计思路(用代码表示扣分)
- 定义两个变量value1,value2表示输入的操作数,定义ch为输入运算符。
输入value1输入一个运算符op
do{
输入另一个操作数
switch(ch){
case ‘+‘: value1=value1+value2
case ‘-‘: value1=value1-value2;
case ‘‘:value1=value1value2;
case ‘/‘: value1=value1*1.0/value2;
如果value2==0输出ERROR
default: printf("ERROR")}while(ch!=‘=‘)
输出value1的值
3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 1.我一开始用了另一个变量result来存放value1和value2的运算结果,输出时就连1+2=都不对。
- 解决办法:再次检查代码发现我的操作数和运算符是分开输入的,那么我的前两个运算数所得的结果应该也要参加下一次运算,可是我的程序没有做到这一点,所以我就放弃了result改用value来存放两个运算数的运算成果。
- 2.除法分母为0或有非法运算符时我的程序就不正确了。
- 解决办法:
二、截图本周题目集的PTA最后排名。

三、本周学习总结
1.你学会了什么?
1.1 一维数组如何定义、初始化?
数组定义形式一般为 类型名 数组名[数组长度],初始化形式一般为 类型名 数组名[数组长度]={初值表},初始化可以只针对部分元素,没有初始化系统默认初始值为0
1.2 一维数组在内存中结构?可画图说明。数组名表示什么?
数组名是一个地址常量,存放数组内存空间的首地址。
1.3 为什么用数组?
数组可以定义一些具有相同类型的变量并存放他们的值,运用数组可以使表达更简洁,可读性好,便于运用于循环结构。
1.4 介绍选择法、冒泡法、直接插入排序如何排序?伪代码展示.
- 选择法:定义输入数字个数number,i,j,中间变量temp,最小值下标min.定义数组a[i]
for(i=1;i<=number;i++){
min=i;min用于存放最小值所在下标
for(j=1;j<=i;j++){
如果a[i]<a[min] 将a[i]与a[min]中的元素进行交换
输出数组中的元素。
- 冒泡法:定义输入的数字个数number,i,j,中间变量temp,数组a[i]
for(int i=0;i<;i++){
for (int j = array.length - 1; j > i; j--) {
如果a[i]<a[i-1] 交换a[i]和a[i-1]中的元素
直接插入排序:定义输入的数字个数number,i,中间变量temp,数组a[i]
for(int i =1;i<number;i++){
temp=a[i];
while(temp<a[i+1]){
判断a[i+1]与a[i+2]是否相等,不相等时结束循环}
temp+a[ia=2];
输出temp.
1.5 介绍什么是二分查找法?它和顺序查找法区别?
1.6 二维数组如何定义、初始化?
二维数组的定义形式为 类型名 数组名[行长度] [列长度]。 初始化形式: 类型名 数组名[行长度] [列长度]={{初值表0}‘‘‘{初值表k},‘‘‘};
1.7 矩阵转置怎么实现?方阵中:下三角、上三角、对称矩阵的行标i列标j的关系?请说明。
转置时需设置一个中间变量x,x=a[i][j],a[i][j]=a[j][i];a[j][i]=temp。
1.8 二维数组一般应用在哪里?
2.本周的内容,你还不会什么?
对于三种排序方法到底是怎么运用的还是一知半解,
C语言博客作业--数据类型
原文:http://www.cnblogs.com/1795759388-/p/7880622.html