C语言博客作业--字符数组

一、PTA实验作业

题目1:7-1 字符串转换成十进制整数

1. 本题PTA提交列表

1233817-20171209212517275-1514977710.png

2. 设计思路

1233817-20171210153707661-314794408.png

3.代码截图

1233817-20171209220058040-290237617.png

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

1233817-20171209220137540-1710388625.png
1233817-20171209220155525-1646743848.png

  • 这个问题我看了好久,试了很多的的错误点,答案和我预料的一样,所以我重新看了一遍题目,发现曲解了题意
    把第一个十六进制字符之前存在字符“-”理解成第一个十六进制字符前一个存在字符“-”

题目2:7-7 删除字符串中的子串

1. 本题PTA提交列表

1233817-20171209220930290-1842863930.png

2. 设计思路

* 定义 i,j,k用于循环,count用于计数,s用于求子串的长度,s1=1,n=0;      //i,j,k用于循环 定义The_main_string[81];并且为0定义substring[81];并且为0
* 输入主串和子串用gets(),并且s=strlen(substring);
* for循环,进入下一步s1等于n;
* for循环从i=0,直至主串为0,结束后i自增,进入下一步count=0
* for循环j等于i,k等于0;直至主串不等于子串;结束后j自增,k自增count自增
* 如果count等于子串长度s,那么对应主串的j-s+1个为0,且将主串j+1剪切过去,并且n++endend
* 如果s1等于n,退出循环
* 输出主串

3.代码截图

1233817-20171209223403263-1449956947.png

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

1233817-20171209223455419-2091679320.png
对于这种情况,我直接将输出了几个值,在纸上重新模拟了程序运行的过程,发现其中有一些算法不合理,就改善了一下

题目3:7-20 指定位置输出字符串

1. 本题PTA提交列表

1233817-20171209223940794-1214803575.png

2. 设计思路

* 定义ij由于循环,n,数组d用于记录下标,字符数组a,字符形bc
* 用gets输出a ,输出b,c
* for i为0,直至a【i】为0进入下一步,i自增如果a[i]等于b,d【j++】=i如果a[i]等于c,n=i;
end
* 输出a[0]到n数组a的值

3.代码截图

1233817-20171209224759669-1251525782.png

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

本题用来一个printf语句来查看遇到b与遇到c的下标,刚开始并没有n变量,后来发现当如果是112211,1,2
这样子的输入,下标会变换,所以用n来记录与才最后相等的下标

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

1233817-20171209225301982-1211028198.png

三、同学代码结对互评

我的代码

1233817-20171209225400029-305520740.png

杰伟的代码

1233817-20171209225512076-1190850307.png

  • 我和他的思路的一样,代码也足够简洁。
  • 其中在覆盖子串这一问题上我是靠调用库函数中的剪切,杰伟是利用循环左移,这两种方法看个人习惯吧

四、本周学习总结

1.你学会了什么?

  • 我学好了指针,其中也明白之前不懂的内存的问题,就是一个变量一个地址,地址的所在地也可以用指针来存放,指针对于的
    地址也可以知道
  • 我也会学会用新的库函数的复制剪切

1.1指针变量如何定义(设计代码可以用markdown代码符号渲染)?
~~~
int a,*p=&a;
~~~
1.2 指针加法运算运用在哪种情况,2个指针变量能否相加?

  • 用于指针指向数组,指针自增表示数组的下一个
  • 指针变量不能相加,没有意义
    1.3 指针不赋初值,直接使用,会出现什么情况,请用DEVC验证,并截图展示?
    1233817-20171209231540966-1193162617.png

1233817-20171209231511857-1738082607.png

1.4 课堂派上关于分离浮点数的整数部分和小数部分那题,请用DEVC验证实现,并在此贴图展示,同时说明哪句是指针变量做函数形参,函数实参应该怎么表示。指针变量做函数形参有什么用处?
1233817-20171210112440318-314665909.png

  • 指针变量做函数形参 void spllitfloat(float x,int* intpart,float* fracpart)
  • 函数实参spllitfloat(x,&realnumber,&decimalfraction);
  • 可以在调用函数中改变主函数的值
    1.5 请把课本的冒泡排序的函数改成指针变量做形参格式,并把代码写在底下,注意用markdown语法渲染。
#include<stdio.h>
void bubble(int *p,int n);
int main()
{int a[100],n,i;scanf("%d\n",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);bubble(a,n);for(i=0;i<n;i++){printf("%d ",a[i]);}return 0;
}
void bubble(int *p,int n)
{int i,j,t;for(i=1;i<n;i++){for(j=0;j<n-i;j++){if(*(p+j)>*(p+j+1)){t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;}}}
}

1.6 如何定义一个指针变量指向数组,如何用指针变量表示数组元素?
~~~
int a[10],p;
p=a;
(p+1) 等价为a[1]
~~~
1.7 如何定义字符指针指向字符串?指针指向字符串后,初始位置在哪里?
char *p="point";

  • 初始位置是在p的地址
    1.8 利用字符指针操作字符串,如设计函数实现字符串连接,请在此贴图展示代码。说明指针表示字符的方法好处是什么?
#include<stdio.h>
int main()
{char *p1="how are ";char *p2="you";printf("%s%s",p1,p2);return 0;
}
  • 可以减少代码量
  • 可以减少内存 的占用量
    2.本周你不会内容有什么?
  • 我不太懂 char *p[]的使用
  • 我对于数组的0使用的不是很好

2.1 课堂派错题罗列及如何订正。
1233817-20171210102321451-288960726.png

  • 对于这道题,当时没有真正理解指针指向数组的关系,和理解题目的意思,老师指正后,恍然大悟。

1233817-20171210102655576-111608012.png

  • 这道题也没有理解指针与数组的关系,听完老师上完课,才明白数组名本身也是一个地址,只不过不能改变罢了

2.2 其他不会的?打算怎么解决
其他的都懂了。

3.数组上机考试小结

  • 这次考试的败笔是在6-2 jmu-c-二维数组转置并按列排序,其中我的算法是没有错的,但是当时在考试一直以为
    我的冒泡排序法出错,在纸上模拟了程序的运行过程发现没有错误,后来一直看,过了好久,才看到我在a[i]^=a[i+1]
    ^=a[i]^=a[i]这个过程i+1忘记了。

3.1 那题错了,请罗列?
1233817-20171210103628935-2005195994.png

3.2 错题如何订正,为什么错了?
1233817-20171210104350638-351306929.png

#include <stdio.h>
int main()
{int a;scanf("%d",&a);printf("%X\n",a);return 0;
}
#include<stdio.h>
int main()
{int n,i=-1,j=0;static int a[10000]={0};char b[1000];scanf("%d",&n);do{a[++i]=n%16;n=n/16;}while(n!=0);for(j=0;j<=i;j++){switch(a[j]){case 1:b[j]='1';break;case 2:b[j]='2';break;case 3:b[j]='3';break;case 4:b[j]='4';break;case 5:b[j]='5';break;case 6:b[j]='6';break;case 7:b[j]='7';break;case 8:b[j]=8;break;case 9:b[j]='9';break;case 10:b[j]='A';break;case 11:b[j]='B';break;case 12:b[j]='C';break;case 13:b[j]='D';break;case 14:b[j]='E';break;case 15:b[j]='F';break;}}for(i=i;i>=0;i--)printf("%c",b[i]);return 0;
}
  • 这道题刚开始设计思路的时候是想通过创建一个字符数组来存放16进制的1至F/f,另外一个字符数组用来存放结果,
    后来由于时间不够用,就没写完,回到宿舍就突然想起来,可以直接用上面的代码来运行。

转载于:https://www.cnblogs.com/guobaoqing/p/8012895.html

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

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

相关文章

Java 7 Update 21安全改进的详细信息

甲骨文昨天发布了三个Java更新 。 重要的是要注意它们包含一些与安全性相关的更改。 一段时间以来&#xff0c;已经宣布了其中的大多数更改&#xff0c;并且首先要注意的是Oracle按计划交付。 甲骨文公司Java平台安全经理Milton Smith最近在DevoxxUK上做了题为“ 用Java保护…

du的原理 linux_Linux 文件系统管理

1、文件系统介绍1&#xff09;、Linux 文件系统特性super block&#xff08;超级块&#xff09;记录整个文件系统的信息。包括 block 与 inode 的总量&#xff0c;已经使用的 block 和 inode 的数量&#xff0c;未使用的 block 和 inode 的数量&#xff0c;block 与 inode 的大…

box-shadow IE8兼容处理

根据canisue&#xff08;http://caniuse.com/#searchbox-shadow&#xff09;&#xff0c;box-shadow兼容性如下图所示&#xff1a; 测试代码&#xff1a; 1 <!DOCTYPE html>2 <html>3 4 <head>5 <meta charset"UTF-8">6 …

ECharts.js学习(一) 简单入门

EChart.js 简单入门 最近有一个统计的项目要做&#xff0c;在前端的数据需要用图表的形式展示。网上搜索了一下&#xff0c;发现有几种统计图库。 MSChart 这个是Visual Studio里的自带控件&#xff0c;使用比较简单&#xff0c;不过数据这块需要在后台绑定。 ichartjs 是一款…

金蝶云系统显示服务器离线,金蝶云服务器已离线是什么情况

金蝶云服务器已离线是什么情况 内容精选换一换根据是否支持挂载至多台云服务器可以将磁盘分为非共享磁盘和共享磁盘。一个非共享磁盘只能挂载至一台云服务器&#xff0c;而一个共享磁盘可以同时挂载至多台云服务器。共享磁盘是一种支持多个云服务器并发读写访问的数据块级存储设…

分布式是什么意思_机架式ups是什么意思?与分布式DPS有何不同之处?

ups电源很多人听过了&#xff0c;主要是让设备在突然断电的情况下遭遇停电的损坏&#xff0c;保障数据及重要程序运行。那么&#xff0c;机架式ups电源可能就是很多人不太了解的了&#xff0c;在说到与分布式DPS有何不同之处那是很少有人清楚了解了&#xff0c;不管怎么说&…

【原】老生常谈-从输入url到页面展示到底发生了什么

刚开始写这篇文章还是挺纠结的&#xff0c;因为网上搜索“从输入url到页面展示到底发生了什么”&#xff0c;你可以搜到一大堆的资料。而且面试这道题基本是必考题&#xff0c;二月份面试的时候&#xff0c;虽然知道这个过程发生了什么&#xff0c;不过当面试官一步步追问下去的…

WebApi在MVC 4中一个Controll多个post方法报错处理

http://blog.csdn.net/lqh4188/article/details/53542400&#xff08;原创&#xff09; 转载于:https://www.cnblogs.com/william-CuiCui0705/p/8023832.html

关于文件关联的图标不能正常显示

不知道有没有人遇到过这种情况&#xff1a; 这两种情况都是关联的图标不能正常显示&#xff0c;但是可以正常打开。总觉得看着挺碍眼的&#xff0c;就看了下注册表&#xff0c;发现可以用以下方法解决&#xff1a; 打开注册表&#xff0c;[HKEY_CLASSES_ROOT]找到需要修改的文件…

华为畅享8plus停产了吗_牢记华为手机“三不买”原则,不花冤枉钱,选错要吃亏!...

如今华为手机已经占据国内手机市场份额的半壁江山&#xff0c;华为自然也就成为了买手机的首选。那么华为手机真的好吗&#xff1f;我认为应该理性看待&#xff0c;因为每个手机品牌都有好手机也有差手机&#xff0c;其实买华为你只需要牢记“三不买”原则&#xff0c;就可以不…

Spring MVC:MySQL和Hibernate的安全性

Spring有很多不同的模块。 所有这些对于具体目的都是有用的。 今天&#xff0c;我将讨论Spring Security。 该模块提供了灵活的方法来管理访问Web应用程序不同部分的许可。 在这篇文章中&#xff0c;我将研究Spring MVC &#xff0c; Hibernate &#xff0c; MySQL与Spring Sec…

Python 离线 安装requests第三方库

一、介绍 requests是Python的一个HTTP客户端库&#xff0c;跟urllib&#xff0c;urllib2类似&#xff0c;不过requests的优势在于使用简单&#xff0c;相同一个功能&#xff0c;用requests实现起来代码量要少很多。毕竟官方文档都很直白的说&#xff1a; python的标准库urllib2…

JS分页条插件

目标 制作js分页导航jq插件,用于无刷新分页或者刷新分页 实现目标参考京东和天猫的分页条. 有四个固定按钮,前页码,后页码,首页,末页. 程序关键点在于计算中间页面的起止位置.逻辑是以当前页码为参照点,根据需要显示的页码按钮个数,计算参照点前后的页码数量. 当起止点小于1或者…

头同尾合十的算法_乘法速算之首同尾合十

两位数乘两位数中&#xff0c;有一种特殊情况不需要列竖式&#xff0c;可以直接说出答案&#xff0c;那就是“首同尾合十”——十位相同&#xff0c;个位数字之和是10。一、巧算方法前两位&#xff1a;十位数字(十位数字1)&#xff0c;后两位&#xff1a;个位相乘例如&#xff…

JavaFX逆运动学库2.0

这是第一篇讲解javafx-ik的基础教程&#xff0c; javafx-ik是JavaFX的逆运动学库。 该库的源代码可以从GitHub下载。 什么是 图1&#xff1a;单骨 骨骼是使用javafx-ik库进行逆运动学的基本基础。 骨骼具有一定长度和关节&#xff0c;骨骼可以围绕该关节旋转。 具有关节的一端…

html权重值_史上最全的web前端面试题汇总及答案HtmlCss(二)

作者&#xff1a;樱桃小丸子儿链接&#xff1a;https://www.jianshu.com/p/abadcc84e2a4HTML&CSSimg的alt和title的异同&#xff1f;**alt **是图片加载失败时&#xff0c;显示在网页上的替代文字&#xff1b;**title **是鼠标放上面时显示的文字,title是对图片的描述与进一…

解决问题SyntaxError: Unexpected token import

ES6语法的模块导入导出(import/export)功能,我们在使用它的时候&#xff0c;可能会报错&#xff1a; SyntaxError: Unexpected token import 语法错误&#xff1a;此处不应该出现import 我遇到的情况是import语法不识别导致的。在这里&#xff0c;有两种方法可以解决。 1: 使用…

使用Gradle的简单Spring MVC Web应用程序

除了我们现在将使用Spring MVC而不是原始servlet之外&#xff0c;该文章将与我们以前的文章Simple Gradle Web Application相似。 使用Gradle运行基本的Spring MVC应用程序确实很容易。 您可以在Github上下载本教程的源代码。 先决条件 安装Gradle 我们的基本项目结构将是&am…

tps波动很大的原因_花生价格小幅上涨,要突破6元大关?粮贩:还有很大距离...

花生是一种重要的油料作物&#xff0c;虽然并不是全国都种植&#xff0c;但在黄淮、长江流域&#xff0c;西北和东北等地区&#xff0c;均广泛种植&#xff0c;近期花生价格一直是农民朋友的关注点&#xff0c;从今年花生价格来看&#xff0c;自从花生上市后&#xff0c;价格起…

html css 基础(标签选择,分页,行和块元素)

&#xff08;1&#xff09;html标签选择 1、<a></a> 的功能有连接&#xff0c;下载&#xff0c;锚点 2、<span></span> 用来区分字体样式&#xff0c;<strong></strong>和<em></em>用来强调某段文字 3、如果是描述性的某段…