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

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

1. 本题PTA提交列表

1231973-20171126000646296-795696992.png

2. 设计思路

1.定义变量i,j,k,n;且声明i为要打印的行数,j是控制输出打印空格和星星,n是菱形为菱形的高
2.输入n
3.i=1,j=1
4.先打印上半部分,第一行到n/2+1行,输出空格个数为n-2i+1,输出的个数为2i-1换行,i++
5.i=n/2,i--
6.打印下半部分,第n/2+2行到第n行,输出的空格个数为n+1-2
i,输出的个数为2i-1换行,j++

3.代码截图

1231973-20171126000831093-192113765.png

4.本题调试过程碰到问题及PTA提交列表情况说明。
刚开始的时候没有想到说可以分析菱形的上下部分来控制输出,所以写出了以下的代码
1231973-20171126004539500-1339239734.png
发现输出的空格都没有实现,后来改用老师的方法,先输出上半部分,再输出 下半部分
1231973-20171126005826875-1048850839.png
前面的空格公式错误,导致输出错误,后来重新推导出正确的公式后,输出正确

题目2:7-7 发红包

1. 本题PTA提交列表

1231973-20171126010334187-512712764.png

2. 设计思路

1.定义数组 a[7]={100,50,20,10,5,2,1}存放纸币类型
2.定义数组b[7]={0}存放各类型纸币的张数
3.定义整型变量 i,n;
4.scanf("%d",&n);
5.for(i=0;i<7;i++){//i从0开始,循环七次
b[i]=n/a[i];//张数等于总金额除以纸币大小
n=n-a[i]*b[i];
6.printf("%3d元:%3d张\n",a[i],b[i]);
7.结束算法

3.代码截图

1231973-20171126025310015-1710588096.png

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

刚开始的时候以为这题和以前做得换硬币的题目相似,故写了以下代码
1231973-20171126011442156-915059273.png
输不出结果,并且过程太过繁琐,所以想到调用数组
1231973-20171126011847609-730301120.png
发现可以输出,但是没有右对齐,后来在网上查了资料,-%d表示左对齐,%d表示右对齐,但是提交后还是编译错误,仔细阅读题目后发现是要求个位数对齐,于是改为%3d,输出正确

题目三:

1. 本题PTA提交列表

1231973-20171126140523046-1817460604.png

2. 设计思路

定义函数 arithmetic( int value )
.主函数部分:1.定义第一个操作数 value1
2.输入这个操作数
3.调用函数求表达式的解
函数部分:1./定义第二个操作数value2,flag=1/flag用于判断是否为非法标识符以及除数为0的情况,
2.定义字符变量op
3.输入第二个操作数,字符
4.判断输入的字符是否为合法标识符
5.若输入的字符为=,则结束算法
6.若字符为+,则value1=value1+value2
7.若字符为-,则value1=value1-value2
8.若字符为,则value1=value1value2
9.若字符为/,且value2不等于0,则value1=value1/value2;若value2等于0,则flag=0
10.重复步骤3-9.直到不满足条件
11.判断flag的值,若flag=0,输出ERROR,否则输出value1
12.返回value1
13.结束算法

3.代码截图

1231973-20171126140411796-1334521322.png
1231973-20171126140446375-1807901096.png

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

想的太过简单,思路还停留在题目四则运算的阶段,而题目要求的是先输入一个表达式
1231973-20171126135542859-254723745.png
后来问了同学,可以调用函数来解决,可是提交后还是错误,后来发现在判断字符时忘了加“=”,
1231973-20171126122739828-839713577.png
改过之后提交却还是部分正确,
1231973-20171126122749375-283125153.png

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

1231973-20171126151229343-1431717010.png

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

1.你学会了什么?

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

一维数组定义的一般形式为:
类型名 数组名 [数组长度];
一维数组的初始化和简单变量的初始化一样,在定义数组时,也可以对数组元素赋初值,其一般形式为:
类型名 数组名 [数组长度] = {初值表},初值表中依次放着数组元素的初值

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

在定义数组之后,系统根据数组中元素的类型及个数在内存中分配了一段连续的存储单元用于存放数组中的各个元素,并对这些单元进行连续编号,即下标,以区分不同的单元,每个单元所需的字节数有数组定义时给定的类型来确定;数组名表示该数组中第一个单元的地址,即首地址

1.3 为什么用数组?

在程序中使用数组,可以让一批相同类型的变量使用同一个数组变量名,用下标来相互区分。它的优点是表达简洁,可读性好,便于使用循环

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

1231973-20171126133644281-700577687.png

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

二分查找(又称为折半查找)是在有序序列中查找比较多的查找算法,基本思路:设有一个从小到大的序列,取中间的元素m进行比较,如果等于需要查找的元素x则返回元素m的下标,若x大于m则再从右边的区间查找,若x小于m则再从左边的区间查找,这样每次减少一半的查找范围。时间复杂度为O(lgn),查找速度相对顺序查找要快很多,但是查找的数据序列必须是有序序列(即数据是从小到大或从大到小排序的)。
区别:二分法是折半查找,而顺序查找则是历便数组的查找,对于数据较多时,二分法查找的效率更高

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

二维数组的定义形式为:
类型名 数组名 [行长度] [列长度]
二维数组的初始化方法有两种:
1.分行赋初值
类型名 数组名 [行长度] [列长度] = { {初值表0},...,{初值表k},...};把初值表k中的数据依次赋值给第k行的元素

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

行列互换;方阵中下三角:i>=j
上三角:i<=j
对称矩阵:i=j

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

用来表示一个二维表中按行,列组织在一起的信息。为了唯一确定二维表中的一个元素,必须给出两个下标。按照习惯,第一个下标确定的是元素所在的行号,第二个列标确定元素所在的列号

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

对于数组的使用还不是很熟悉,还有二维数组还不是很理解,各个进制之间的转化还不是灵活的运用;
对于冒泡排序,选择排序还不是很理解
课堂派上的题目
1231973-20171126130030828-659320239.png
1231973-20171126130128671-202392932.png

转载于:https://www.cnblogs.com/2223ch/p/7897832.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息隐藏将txt文件合并到jpg文件中_使用Kali Linux在图像内隐藏机密消息—可在任何Linux发行版使用

欢迎回到“Esn技术社区”&#xff01;今天&#xff0c;我们将演示如何使用Steghide(一种可在Kali Linux上使用的流行隐写工具)在图像内隐藏消息。在计算机科学中&#xff0c;将信息隐藏在文件内(例如图像&#xff0c;文档&#xff0c;程序&#xff0c;有用数据&#xff0c;消息…

java方法调用机制_Java方法调用机制 - osc_bkdv2it5的个人空间 - OSCHINA - 中文开源技术交流社区...

最近在编程时&#xff0c;修改方法传入对象的对象引用&#xff0c;并没有将修改反映到调用方法中。奇怪为什么结果没有变化&#xff0c;原因是遗忘了Java对象引用和内存分配机制。本文介绍3个点&#xff1a;① 该问题举例说明② 简要阐述Java内存区域③ 介绍JVM中方法调用的机制…

CSS染色图标(图片)

之前一直以为用background引入的图标无法染色&#xff08;非字体图标&#xff09;&#xff0c;现在才知道有黑科技可以用&#xff0c;就是利用drop-shadow。 代码示例 <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"&…

eclipse安装java web插件

1 查看eclipse版本 找到eclipse的安装目录&#xff0c;找到readme文件&#xff0c;打开其中的html文件&#xff0c;我的是4.6版本的,代号是oxygen 2 安装 打开eclipse,点击help-Install new software-单击add&#xff0c;在弹出窗口中输入网址&#xff1a; http://download.ecl…

实现输入框小数多 自动进位展示,编辑时实际值不变

今天遇到个业务需求&#xff0c;要求输入框&#xff0c;输入数字的小数位数可以很多位&#xff0c;但移开后显示&#xff0c;只显示小数点后两位 &#xff08;四舍五入&#xff09;&#xff0c;当要编辑的时候&#xff0c;展现其原来的输入数据。 闲话不多说&#xff0c;当时也…

使用Jasper Reports以Java创建报告

上周&#xff0c;我试图使用Jasper创建报告。 在这篇文章中&#xff0c;我将记录一些资源和链接&#xff0c;以便对任何寻求类似信息的人都有用。 我将介绍Jasper报告&#xff0c;示例和Dynamic Jasper的生命周期。 Jasper Reports是世界上最受欢迎的开源报告引擎。 它完全用…

CentOS7 安装NodeJS

一、切换目录到/usr/local/src 命令行&#xff1a;cd /usr/local/src 二、下载node.js&#xff08;我这里下载的是二进制的源码&#xff09; 命令行&#xff1a; wget https://nodejs.org/dist/v8.9.1/node-v8.9.1-linux-x64.tar.xz 图片&#xff1a; 三、解压压缩包 命令行&am…

CSS3基础2(变形与动画)

<!DOCTYPE html5><html lang"en"><head> <meta charset"UTF-8"> <title>CSS3基础知识&#xff08;动画&#xff09;</title> <style> /*div{*/ /*width: 150px;*/ /*hei…

ASP.NET Core2.0 环境下MVC模式的支付宝PC网站支付接口-沙箱环境开发测试

1.新建.NET Core web项目 2.Controllers-Models-Views 分三个大部分 3.下载安装最新sdk 官方的SDK以及Demo都还是.NET Framework的&#xff0c;根据官方文档说明新建网站后还是需要引用官方SDK的源码&#xff0c; 在这里直接使用网上一位朋友的用.NET Standard 2.0 进行实现了支…

如何在redhat8里使用gcc命令_如何使用who命令检查用户登录信息

请关注本头条号&#xff0c;每天坚持更新原创干货技术文章。如需学习视频&#xff0c;请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言本教程主要介绍如何使用who命令检查用户登录信息。如何使用who命令检查用户登录信息Linux中的who命令列出了系统上的所有登录用户…

研究僵局–第4部分:修复代码

在这个简短的博客系列的最后BadTransferOperation中&#xff0c;我一直在讨论分析死锁&#xff0c;我将修复BadTransferOperation代码。 如果您看过本系列的其他博客 &#xff0c;那么您将知道&#xff0c;为了达到这一点&#xff0c;我创建了死锁的演示代码&#xff0c;展示了…

chrome插件2

转自&#xff1a;http://www.codeceo.com/article/15-chrome-extension.html 1. Web Developer 支持Chrome的Web Developer扩展&#xff0c;允许你通过添加一个小工具栏来使用不同的工具。 官方网站&#xff1a;https://chrome.google.com/webstore/detail/web-developer/bfbam…

java月历组件_vue之手把手教你写日历组件

---恢复内容开始---1.日历组件1.分析功能&#xff1a;日历基本功能&#xff0c;点击事件改变日期&#xff0c;样式的改变1.结构分析&#xff1a;html1.分为上下两个部分2.上面分为左按钮&#xff0c;中间内容展示&#xff0c;右按钮下面分为周几展示和日期展示3.基本结构页面ht…

maven project module 依赖项目创建 ---转

一、创建Maven Project 1.右击 --> New --> Other&#xff0c;--> Maven --> Maven Project --> Next 2.如下图&#xff0c;选中Create a simple project --> Next 3.输入Group Id, Artifact Id, Version, Packaging选择pom&#xff0c;因为创建的Maven Pr…

linux常见命令搜集

查找根目录下txt和pdf文件 find / \( -name "*.txt" -o -name "*.pdf" \) -print 正则查找根目录下所有的txt和pdf文件 find / -regex ".*\(\.txt|\.pdf\)$"查找所有非txt文本 find . ! -name "*.txt" -print制定搜索深度 find ~ -max…

需加装饰——装饰模式

装饰模式指的是在不必改变原类文件和使用继承的情况下&#xff0c;动态地扩展一个对象的功能。它是通过创建一个包装对象&#xff0c;也就是装饰来包裹真实的对象。 类图分析 我们先假设一个业务场景&#xff0c;有三种房子需要装修&#xff0c;分别是公寓&#xff0c;木屋和别…

Vue2.0 --- vue-cli脚手架中全局引入JQ

第一步&#xff1a;安装jQuery npm/cmpn方式安装(默认安装1.7.X版本的JQ) npm/cnpm install jQuery 如果想安装更高版本的JQ那么可以选择在package.json文件下面这个位置添加代码断&#xff08;当前图片安装的是2.2.3版本&#xff0c;如果想安装更高或者其他可以更改版本号&…

Unity——用UnityEditor拷贝FBX中的AnimationClip

最近有个新需求&#xff0c;要用代码添加动画的事件&#xff0c;但是Unity不能直接修改FBX中的AnimationClip 在Animation窗口中可以看到&#xff0c;AnimationClip是Read-Only状态&#xff0c;用代码修改这个AnimationClip也是不会生效的&#xff0c;包括用代码添加事件 解决方…

mvc如何嵌套第三方页面_长文观点丨为什么我不再使用MVC框架?

原创&#xff1a; 张卫滨 译 Jean-Jacques Dubray是一名资深工程师&#xff0c;他最近引入了一个新的模式&#xff1a;状态-行为-模(State-Action-Model&#xff0c;SAM)。SAM是一个函数式反应型的编程模式&#xff0c;它致力于简化数据Model和View之间的交互。它究竟有何优点值…

JSON和XML的区别

转载于:https://www.cnblogs.com/mr-wuxiansheng/p/6974239.html