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;消息…

Spring 3.1,Cloud Foundry和本地开发

这篇文章将帮助您在Cloud Foundry上使用MongoDB构建Spring 3.1 Web应用程序。 除了推动Cloud Foundry之外&#xff0c;您还可以使用MongoDB实例在本地环境中进行开发。 目标 此博客发布的目标是在本地构建应用程序&#xff0c;然后发布到本地Cloud Foundry实例。 我们将利用C…

Spring MVC 简述:从MVC框架普遍关注的问题说起

任何一个完备的MVC框架都需要解决Web开发过程中的一些共性的问题&#xff0c;比如请求的收集与分发、数据前后台流转与转换&#xff0c;当前最流行的SpringMVC和Struts2也不例外。本文首先概述MVC模式的分层思想与MVC框架普遍关注的问题&#xff0c;并以此为契机结合SpringMVC的…

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…

python正则表达式指南_Python正则表达式指南

1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具&#xff0c;拥有自己独特的语法以及一个独立的处理引擎&#xff0c;效率上可能不如str自带的方法&#xff0c;但功能十分强大。得益于这一点&#xff0c;在提供了正则表达…

Google Guava EventBus用于事件编程

在任何软件应用程序中都是如此&#xff0c;有些对象需要共享信息才能完成工作。 在Java应用程序中&#xff0c;实现信息共享的一种方法是拥有事件侦听器&#xff0c;其唯一目的是在发生所需事件时采取某些措施。 在大多数情况下&#xff0c;此过程有效&#xff0c;并且最有经验…

system类

package system.cn; /** system类的方法 都是静态方法&#xff0c;可以直接用类名直接调用* 常用的方法&#xff1a;* static long currentTimeMillis() 返回以毫秒为单位的当前时间。 static void exit(int status) 终止当前正在运行的 Java 虚拟机。 static void gc…

c await和java_blog/java/test/awaitility.zh.md at master · c-rainstorm/blog · GitHub

javaAtomicInteger atomic new AtomicInteger(0);// Do some async stuff that eventually updates the atomic integerawait().untilAtomic(atomic, equalTo(1));等待一个 AtomicBoolean 更简单&#xff1a;javaAtomicBoolean atomic new AtomicBoolean(false);// Do some a…

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

今天遇到个业务需求&#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…

java对hashmap迭代_Java:通过HashMap迭代,这样更有效率?

第二个选项肯定更有效&#xff0c;因为在第一个选项中只进行一次查找&#xff0c;次数为n次。但是&#xff0c;没有什么比尝试它更好&#xff0c;当你可以。所以这里 –(不完美&#xff0c;但足够好验证假设和我的机器)public static void main(String args[]) {Map map new H…

html-edm(邮件营销)编写规则

最近写了一个edm邮件 以前没有接触过 使用的是很老的html页面编写规则 只能用table标签 在此记录一下edm编写的一些规则 个人参考的是这两个网址&#xff0c;转载一下 http://www.zcool.com.cn/article/ZMTM5MDgw.html https://www.cnblogs.com/lhweb15/p/6404626.html …

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…