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

一、PTA实验作业(5分)

必须在7-8,7-9,7-10中选一题介绍设计思路。

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

1. 本题PTA提交列表

2. 设计思路

1.定义整型number,i。
2.输入正整数number
3.若number不等于1
4.for(i=1;i<=number;i++)
5.输出"i "
6.for(i=number-1;i>1;i--)
7.输出"i "
8.结束if
9.输出1

3.代码截图

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

1.当n等于1时,输出两个一导致答案错误,利用if语句,单独讨论等于1时的输出,
并且在末尾直接输出一个不带空格的1.

题目2:7-4 打印菱形图案

1. 本题PTA提交列表

2. 设计思路

1.定义整型变量n,i,j
2.for(j=1;j<=(n/2)+1;j++)用于输出前半部分
3.for(i=1;i<=n-2j+1;i++)嵌套循环语句,输出前半部分应该有的空格
4.输出" "
5.for(i=1;i<=2
j-1;i++) 输出应有的*
6.输出"* "
7.输出"\n"换行
8.for(j=1;j<=n/2;j++)输出下半部分
9.for(i=1;i<=2j;i++)
10.输出" "
11.for(i=n-2
j;i>=1;i--)
12.输出"* "
13.输出换行符

3.代码截图

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

1.输出的空格错误,导致输出图形非菱形,利用devc依次输出图形找出错误的代码
2.行数不对,利用了for(j=1;j<=(n/2)+1;j++)以及for(i=n-2*j;i>=1;i--)输出了应有的函数

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

1. 本题PTA提交列表

2. 设计思路

1.定义整型变量total number judge
2.定义字符型变量ch
3.令judge等于0
4.输入一个整数total,读取第一个数字
5.for(;;)无限循环
6.读取字符以及数字
7.if(ch'/'&&number0) 若分母为0 judge=2
8.switch(ch)用switch对各种符号进行运算
case'+' : total=total+number;break;
case'-' : total=total-number;break;
case'' : total=totalnumber;break;
case'/' : total=total/number;break;
case'=' : judge=1;break;
default : judge=2;
9.若judge=4或者2结束循环
10.当judge=1,输出答案,judge=2,输出错误提示

3.代码截图

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

1未考虑分母为0以及错误符号的情况,用judge来判断,当错误符号或者分母为0,judge=2,当judge=2,输出错误提示

二、截图本周题目集的PTA最后排名。(2分)

PTA排名

三、本周学习总结(3分)

1.你学会了什么?

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

如:int a[10 ]={0,1,2,3,4,5,6,7,8,9},下标10代表数组长度,大括号内数字代表初始值,a[0]=0,a[1]=1等等

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


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

1.3 为什么用数组?

用于存放数据,方便代码编写

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

(1)选择法排序

1.定义整型变量i,min,k,n,temp
2.定义数组a[10]
3.输入整数n
4.令i=0
5.当i<n时,输入数,i++
6.将输入的数依次存给数组a的n个元素
7.当k=0;k<n-1,用imin来存放最小值
8.判断数组a中元素与a[min]大小
9.如果a[i]<a[min],min=i,最小元素与下标为k的元素交换
10.temp=a[min];
11.a[min]=a[k];
12.a[k]=temp;
13.输出排序后的数

(2)冒泡法排序
1.定义数组a[n]
2.定义整型变量i,j,temp,n
3.令i=0
4.当i满足<=n-1时
5.输入数a[n]
6.使i++
7.将这组数据依次赋值给a[n]
8.判断相邻俩个数据,如果a[j]>a[j+1],进行交换
9.temp=a[j]
10.a[j]=a[j+1]
11.a[j+1]=temp
12.进行q-i次该步骤,可进行排序

(3)直接插入法排序
1.定义数组a[n]
2.定义整型变量i,j,k,min
3.i=0;
4.满足i<=n-1时
5.输入数a[n].
6.i=0;
7.min表示最小值
8.判断数据a[j]和min的大小
9.如果min<a[j],a[j]=min
10.通过a[k+1]=a[k]将数据逐渐移动
11.重复n-1次进行排序

1.5 介绍什么是二分查找法?它和顺序查找法区别?

1.二分查找算法也称为折半搜索、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。
2.二分从中间开始寻找,比较中间元素与查找元素大小,等于直接结束,否则从大于或者小于的那一半开始寻找
3.顺序从特定的一方开始逐渐寻找

1.6 二维数组如何定义、初始化?

如int a [2][3]={{1,2,3}{4,5,6}},2代表行,3代表列,123代表第一行3列元素

1.7 矩阵转置怎么实现?方阵中:下三角、上三角、对称矩阵的行标i列标j的关系?请说明。

将行下标与列下标互换,下三角i<=j 上三角i>=j

1.8 二维数组一般应用在哪里?

运用于矩阵之中

2.本周的内容,你还不会什么?

1.数组运用不熟练
2.伪代码不太会写

posted on 2017-11-26 11:24  FaceTheWind  阅读(322)  评论(5编辑  收藏  举报

导航