WShit

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、PTA实验作业

题目1:掉入陷阱的数字

1. 本题PTA提交列表

2. 设计思路

定义sum()函数计算接收数字的各位数之和

  • 定义整型变量result储存各位数之和
  • for number to number=0:result+=number%10; number/=10

定义主函数

  • 1.定义变量n,n_new. n表示旧自然数n_new表示新自然数
  • 2.输入n
  • 3.for i=1(i++):
  • --计算并输出新自然数n_new=3*sum(n)+1;序号为 i .
  • --如果n==n_new,即掉入陷阱时break.
  • --将n_new的值赋给n,为下次循环做准备: n=n_new.

3.代码截图

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

  • 无问题

题目2:发红包

1. 本题PTA提交列表

2. 设计思路

  • 将money对 面额 从大到小取余得到的值输出然后除以面额·

3.代码截图

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

-无问题

题目3:简单计算器

1. 本题PTA提交列表

2. 设计思路

  • 1·定义变量:ch=0记录运算符,flag=0标记错误,n储存数值
  • 2·输入n,定义result初始值为n储存运算结果·
  • 3·while( (ch=getchar()) != '=') :
    --输入操作数n
    --判断运算符switch(ch) 如果为'+',result+=n; 如果为'-',result-=n; 如果为'',result=n; 如果为'/':如果n==0,flag=1,否则result/=n; default:flag=1
  • 判断flag: if(flag)输出result,否则输出 Error·

3.代码截图

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

  • 无问题

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

三、本周学习总结

1.你学会了什么?

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

定义:类型名 数组名 [数组长度];
初始化:对于较短的数组可以直接赋值,如a[2]={0,1};,对于长度大的可以用循环进行赋值,如for(int i=1;i<=1000;i++) a[i]=0;

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

  • 数组名是数组中首元素的地址

1.3 为什么用数组?

  • 数组能储存大量数据,方便对多个变量的多次调用.

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

  • 冒泡法:for i=0 to n,进入内层循环:for u=0 to n-1 如果a[i]>a[i+1]就交换两者间的值
  • 选择法:for i=0 to n-2,将第一个数作为最大数,比较n次,与后面数比较,如果后面的数大,记录下标后与最大数交换值.

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

  • 对一个已经排序的数组,取其中间位置,记录下标.找比中间值大的就向右二分,否则向左二分.以此类推直到满足条件

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

  • 定义:数据类型 数组名[整常量表达式][ 整常量表达式];
  • 初始化:数据类型 数组名[整常量表达式][ 整常量表达式]={ 初值 };或利用循环进行赋值.

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

  • 1.对于数组a[][],定义一个数组b[][],遍历数组a对b赋值:b[r][c]=a[c][r];则b[][]为a[][]的转置

  • 2.遍历数组,将数组a[r][c]的值与a[c][r]的值进行交换.

  • 下三角中列数不超过行序数:c<=r.

  • 上三角中列数不小于行序数:c>=r.

  • 对称矩阵:遍历数组,a[r][c]=a[c][r].

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

  • 一般可以应用于矩阵问题.

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

  • 对于字符数组还不是太理解.
  • 其他的基本上理解.
posted on 2017-11-26 23:01  嗡嗡_嗡  阅读(298)  评论(3编辑  收藏  举报