您的位置:首页 > 编程语言 > C语言/C++

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

2017-11-26 16:48 411 查看

一、PTA实验作业

题目1:7-6 掉入陷阱的数字

1. 本题PTA提交列表



2. 设计思路

1.定义输入的变量N,输出次数i,判断变量x,以及第一组J

2.输入N,并给i附上初始值0,计算第一次的J

3.利用do-while(x!=J)循环循环内

每一次i++,

输出i,J

并使x=J

J=SKT(x);//调用函数

4.//若输入的不为陷阱数则需要输出i+1

printf("%d:%d\n",i+1,J);}

自定义函数:(实现 先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N)

1.定义变量x为输入的值,sum以及N为返回主函数的值

2.利用while(N!=0){

取出各个位数字

累加到sum

将sum*3+1给N

将N返回主函数

3.代码截图



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



不能进入下一次的循环,在循环外给i附上初值,给J求出第一次的值再进入循环即可

列表部分正确仅为第一次的结果。

题目2:7-7 发红包

1. 本题PTA提交列表



2. 设计思路

1.分别定义abcedfg用于表示各个面额的张数,x为金额数

2.输入x

3.分别计算

a=x/100;//求100元张数

b=(x-a100)/50;//50元的张数

c=(x-a100-b50)/20;//20元的张数

d=(x-a100-b50-c20)/10;//10元的张数

e=(x-a100-b50-c20-d10)/5;//5元的张数

f=(x-a100-b50-c20-d10-e5)/2;//2元的张数

g=(x-a100-b50-c20-d10-e5-f*2)/1;//1元的张数

4.按格式输出面额及张数

3.代码截图



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

调试过程没遇到什么问题,

PTA提交显示格式错误,为没有控制数字个位对齐

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

1. 本题PTA提交列表



2. 设计思路

1.定义字符变量ch

2.定义x=0作为判断变量n为输入的值,i为每次运算的中间值

3.利用while(ch!='=')循环,再循环内输入n以及字符利用if-else if语句选择运算式,再除法运算时若除数为0则将x=1并break

4.若有非法运算符x=1

5.x!=1输出i若x==1输出ERROR

3.代码截图



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



没有对除数为零以及非法运算符的情况进行判断

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



三、本周学习总结

1.你学会了什么?

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

一维数组定义,需要明确数组变量名,数组元素类型和数组的大小,其一般形式为: 类型名 变量名 [数组长度]

数组的初始化可以再定义数组时,对数组元素赋初值,其一般形式为:类型名 变量名 [数组长度]={初值表}(可以只针对部分元素)

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

结构如课本150页图7.2所示

数组名表示该数组所分配连续内存空间中第一个单元的地址

1.3 为什么用数组?

数组可以使一组相同类型数据有序排列,并且连续存放,使用方便。

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

选择法:

1.对数组的n个元素附上初值

2.利用for对n个元素进行排序

3.a[i]<a[min]则将两值交换

4.将a[min]返回

冒泡法:

1.定义变量a[10],i,j,k

2.一次将数输入数组

3.对n个数排序,for(k=0;k<n-1;k++) max=k

4.输出n个数组元素的值

直接插入法:

1.从第二个数开始

2.如果比前一个数小,交换到前一个位置

3.重复2,直到该数前面没数字或者前面的数比它大

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

二分查找法:先确定该区间的中点位置,将待查的x值与a[mid]比较,若相等,则查找成功并返回此位置,若a[mid]>x,则新的查找区间是a[1..mid-1]若a[mid]<x,则新的查找区间是a[mid+1..n]

二分查找法适用于排序过的数组,不必将每一个元素都进行比较,速度快,顺序查找法要遍历数组

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

定义:类型名 数组名 [行长度][列长度]

初始化:分行赋初值:int a [3] [3] ={ { 1,2,3} , {4,5,6} ,{7,8,9} } 顺序赋初值: int a [3] [3] = {1,2,3,4,5,6,7,8,9}

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

对角线上元素不变,其余元素两个下标互换

上三角:i<=j

下三角:i>=j

对称矩阵:a[i][j]==a[j][i]

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

矩阵,表

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

对于二维数组的部分极不熟悉,考试题中一些基本的概念性的问题,以及对于手写代码,考试发现对于函数部分的知识仍旧掌握不牢固。对于数组只是知道其基本的概念,涉及到应用层面的问题就凉凉了。PTA中一些需要判断的问题,没能第一时间想出判断的方法有时还忘记去判断。对于一些题目的本意有的也不太理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: