一、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提交列表情况说明。

  • 1、刚开始我的想法是上半部分结束后先让m自增2(因为下一行有空格,用原来的m输出的话下一行会没有空格),其他的除了循环行数和m变成自增外基本和上半部分一样,但是这样我的输出下半部分还是没有空格
  • 2、我仔细看了一下代码,发现第二步循环不应该是m-1,而是m+1

    题目2:7-7 发红包

    1. 本题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提交列表情况说明。

  • 1、一开始我的想法是用循环解决这个问题,但是要么陷入死循环,要么答案是错的
  • 2、后来我看了几次题目,注意到题目从大到小的要求,发现只需从大到小的将金额与钱币相除,就能得到相应的输出要求了
  • 3、还有,输出格式有一定要求,空格要注意好,我已开始用的是%-3d,是错的,要用%3d才对

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

    1. 本题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、一开始忘了判断除号后为零的情况了= =
  • 2、刚开始我只用result来计算结果,number1只是用来存放第一个数,但是这样做只是部分正确,样例的输出是错的

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

三、本周学习总结

1.你学会了什么?

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

  • 定义一维数组要明确好数组变量名,类型和大小。要注意数组长度应该是一个常量。

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

  • 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语言数据类型作业的更多相关文章

  1. C语言数据类型的理解

    数据类型的定义: 作为一种语言,必然有所谓的语言组成要素,就像日常生活中人们之间的交流一样,首先会有字,字再成词组,再来就是句子,后来呢就是段落等等.当然不同的字,词,句这些在一起,就会有不同的表达效 ...

  2. 第二周c语言PTA作业留

    6-1 计算两数的和与差(10 分) 本题要求实现一个计算输入的两数的和与差的简单函数. 函数接口定义: void sum_diff( float op1, float op2, float psum ...

  3. R语言数据类型

    R语言数据类型[转!!]Zhao-Pace  https://www.cnblogs.com/zhao441354231/p/5970544.html   R语言用来存储数据的对象包括: 向量, 因子 ...

  4. Go语言 数据类型,流程控制

    Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...

  5. BMP图像直方图均衡算法(C语言大作业)

    万丈高楼平地起 C语言大作业 一.学习笔记篇 1.学习MarkDown MarkDown注重写作本身,而非花俏的界面 编辑器:vscode 插件:Markdown,Markdown Preview 2 ...

  6. C语言数据类型_02

    C语言数据类型:

  7. C语言1作业5

    问题 答案 这个作业属于那个课程 C语言程序设计1 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2 我在这个课程的目的是 学习并掌握C ...

  8. C语言I作业08

    C语言I作业08 这个作业属于哪个课程 C语言程序设计ll 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9981 ...

  9. C语言I作业12-学期总结

    一.我学到的内容 二.我的收获 我完成的作业: 第一次作业 C语言I博客作业02 C语言I作业004 C语言I博客作业05 C语言I博客作业06 C语言I博客作业07 C语言I博客作业08 C语言I博 ...

随机推荐

  1. freemark声明变量,boolean,date,date日期格式转换成String类型的(五)

    <br/>assign用来定义变量<#assign name="刘德华"><br/> 获取assign定义变量的值:${name} <br ...

  2. Python 环境的搭建

    Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到: Python官网:http://www.python.org/ 你可以在以下链接中下载 Python 的文档,你可以下载 ...

  3. SpringMVC 框架系列之组件概述与配置详解

    在上一篇文章 SpringMVC 框架系列之初识与入门实例 的实例中,我们已经知道,SpringMVC 框架是一个 web 层的框架,本篇文章就详细解释一下 SpringMVC 框架具体文件的配置以及 ...

  4. 第三篇:爬虫框架 - Scrapy

    前言 Python提供了一个比较实用的爬虫框架 - Scrapy.在这个框架下只要定制好指定的几个模块,就能实现一个爬虫. 本文将讲解Scrapy框架的基本体系结构,以及使用这个框架定制爬虫的具体步骤 ...

  5. 下一代 Android

    据闻,Android M 是下一代 Android 的开发代号.那么,对于 M,Google 正在实验着什么? 指纹识别 根据此前的消息,Nexus 6 据称原本是包含指纹识别传感器的,但后来在开发过 ...

  6. 洛谷P4180 [Beijing2010组队]次小生成树Tree(最小生成树,LCT,主席树,倍增LCA,倍增,树链剖分)

    洛谷题目传送门 %%%TPLY巨佬和ysner巨佬%%% 他们的题解 思路分析 具体思路都在各位巨佬的题解中.这题做法挺多的,我就不对每个都详细讲了,泛泛而谈吧. 大多数算法都要用kruskal把最小 ...

  7. 洛谷P3402 【模板】可持久化并查集(可持久化线段树,线段树)

    orz TPLY 巨佬,题解讲的挺好的. 这里重点梳理一下思路,做一个小小的补充吧. 写可持久化线段树,叶子节点维护每个位置的fa,利用每次只更新一个节点的特性,每次插入\(logN\)个节点,这一部 ...

  8. $HNOI\ 2010$ 解题报告

    HNOI 2010 解题报告 0. HNOI2010 AC代码包下载地址 注: 戳上面的标题中的'地址' 下载 代码包, 戳下面每一题的文件名 可进入 题目链接. 每一题 对应代码的文件名 我在 每一 ...

  9. OCR技术浅探:基于深度学习和语言模型的印刷文字OCR系统

    作者: 苏剑林 系列博文: 科学空间 OCR技术浅探:1. 全文简述 OCR技术浅探:2. 背景与假设 OCR技术浅探:3. 特征提取(1) OCR技术浅探:3. 特征提取(2) OCR技术浅探:4. ...

  10. Online Judge(OJ)搭建——1、项目介绍

    项目名 Piers 在线评测 项目需求 用户: 获取题库.题目的相关信息. 在线对代码进行编译.执行.保存.返回运行(编译)结果. 总体题目评测成绩查询. 用户信息服务,包括注册.登录.忘记密码.邮箱 ...