练习7-11 字符串逆序 (15分)

输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。

输入格式:

输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

输出格式:

在一行中输出逆序后的字符串。
输入样例:

Hello World!

输出样例:

!dlroW olleH

我的代码

#include <stdio.h>
int main (void){
	char s[80]; int i = 0;
	while((s[i] = getchar()) != '\n')
		i++;
	s[i] = '\0';
	int n = i + 1; //通过i定义了数组元素的 个数
	char * p = s;//p指向了s首地址,不写&符号
	int temp; //交换中间值 
	for(i = 0; i <= (n-1)/2-1; i++){
		temp = *(p+i);
		*(p+i) = *(p+n-2-i);//首尾交换,走一半 
		*(p+n-2-i) = temp; 
	}
	printf("%s", s);
	return 0;
	 
}                                                 

上面这个是通过的,给结尾补零,但是写指针下标的时候有些麻烦,容易出错。
但是看了其他人的方法,好像没有给字符串结尾补’\0’ 试了一下,但pta没有通过

#include <stdio.h>
int main (void){
	char s[80]; int i = 0;
	while((s[i] = getchar()) != '\n')
		i++;
	//s[i] = '\0';
	int n = i; //通过i定义了数组元素的 个数
	char * p = s;//p指向了s首地址,不写&符号
	int temp; //交换中间值 
	for(i = 0; i <= (n-1)/2; i++){
		temp = *(p+i);
		*(p+i) = *(p+n-1-i);//首尾交换,走一半 
		*(p+n-1-i) = temp; 
	}
	printf("%s", s);
	return 0;
	 
}                                                 

在这里插入图片描述

版权声明:本文为Sophiejing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Sophiejing/article/details/103946952

智能推荐

自己做一个table插件 (一)Ajax获取数据后动态生成table

    今天我给大家带来一个简单的JQ插件,Ajax获取数据后动态生成table。当然,有这种功能的插件有很多。著名的有DataTable、JqGrid……它们虽然功能丰富,成熟,拿来做二次开发是一个不错的选择。但是,我仍然自己写了一个插件,原因很简单,它们太庞大了,它的百分之九十的功能我都用不上。    &n...

脚本实现Unity 场景的淡入淡出

看到一个场景淡入淡出的脚本文件,分享一下,原文章见来源   操作如下: 1.创建一个Shader文件   2.双击打开该Shader文件,输入如下代码,更改Shader:   3.创建一个C#脚本文件,代码如下:       4.将C#脚本挂载到摄像机上,运行如下(左键点击Game场景)   以上为全部详细讲解...

【CSS】526- CSS 控制图标颜色

原文地址:http://eux.baidu.com/blog/fe/控制图标颜色 背景 实际项目中,一般都会遇到不同颜色的图标,例如   导航栏图标的不同状态 方法 方法1 需要UI设计师给出不同颜色的图标,在不同状态下设置不同的元素背景。 缺点是:当状态改变后,浏览器才去拉取active状态的图片,所以视觉上会有闪动,体验不好 方法2 将两张图标合成雪碧图 优点:解决第一个方法闪动的问...

双链表

双链表的初始化(带头结点) 双链表在单链表的结点中增加了一个指向其前驱的prior指针,因此在双链表中执行按值查找和按位查找的操作与单链表一样,但在删除和插入结点中双链表时间复杂度O(1),单链表为O(n)。 双链表的插入 双链表的删除 双链表的遍历...

洛谷4363 [九省联考2018]一双木棋chess

标签:状压,记忆化搜索 题目 题目传送门 题目描述 菲菲和牛牛在一块n 行m 列的棋盘上下棋,菲菲执黑棋先手,牛牛执白棋后手。 棋局开始时,棋盘上没有任何棋子,两人轮流在格子上落子,直到填满棋盘时结束。 落子的规则是:一个格子可以落子当且仅当这个格子内没有棋子且这个格子的左侧及上方的所有格子内都有棋子。 棋盘的每个格子上,都写有两个非负整数,从上到下第i 行中从左到右第j 列的格 子上的两个整数记...

猜你喜欢

忘掉什么鬼并发,先听完这个故事!

点击上方“阿拉奇学Java”,选择“置顶或者星标” 优质文章第一时间送达! 来源 | cnblogs.com/flashsun/p/11017431.html 推荐阅读 | SQL语句大全,所有的SQL都在这里(建议收藏) 最近在给别人讲解Java并发编程面试考点时,为了解释锁对象这个概念,想了一个形象的故事。后来慢慢发现这个故事似乎能讲解...

10-数据存储

数据存储 内容 列表 元组 集合 字典 公共函数 切片 推导式 1. 列表 1.1 列表的概念 列表是一种存储大量数据的存储模型。 1.2 列表的特点 列表具有索引的概念,可以通过索引操作列表中的数据。列表中的数据可以进行添加、删除、修改、查询等操作。 1.3 列表的基本语法 创建列表: 变量名 = [数据1,数据2,……] 获取列表数据: 变量名[索引] 修改列表数据...

android studio中的(PercentFrameLayout)百分比布局

在《第一行代码》中,原先按照书中内容配置,无法正常运行,记录一下解决过程。 书中步骤如下: 在/app/build.gradle中添加依赖 之后在activity_main.xml中进行布局 运行程序,发现模拟器上android程序卡死。 解决过程: 在网上搜索了解决方法,大多都是修改版本,我运行起来依然无效。在查阅文档资料后(支持库工键映射),发现 com.android.support:per...

html页面播放avi视频

  以上,就是在html网页中播放avi视频的代码,因为借用的是Windows Media Player播放器,所以并不是所有浏览器都支持,应该只支持ie内核的浏览器,本人测试的360浏览器,如果对你有帮助,关注点赞,谢谢!...

SpirngBoot配置文件YAML

一、引言 在使用Spring Initializr创建SpringBoot项目时,文件的目录结构如下图。 其中SpringBoot会生成一个全局的配置文件application.properties(配置文件名是固定的),该配置文件也还可以用application.yml替代。 对于application.properties格式的配置文件,我们在用spring时就使用这种,就不多做介绍,下面主要...

装修网湖州简装房简装多少钱65平方二房一厅简装大约多少钱80平简装需要多少钱海宁装饰装修简装 半包简欧装修效果图欣赏自贡公装公装一般多少钱一平方装饰鞋恒大装饰公司怎么样美容诊所装修公司鼎鑫装饰有限公司宝马x1 装饰阳逻装修公司简装尿不湿为什么便宜家装水电清包工价格表许昌家居装饰20万够装修吗成都市成华区装修成都写字楼装饰装修公装公司的简单装修方案公装行业趋势住房简装每平方米多少元?顶楼露台装修设计汕头装修价格280平方装修装修一平方怎么计算成都装修 报价明细香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声汪小菲曝离婚始末卫健委通报少年有偿捐血浆16次猝死单亲妈妈陷入热恋 14岁儿子报警雅江山火三名扑火人员牺牲系谣言手机成瘾是影响睡眠质量重要因素男子被猫抓伤后确诊“猫抓病”中国拥有亿元资产的家庭达13.3万户高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了男孩8年未见母亲被告知被遗忘张家界的山上“长”满了韩国人?倪萍分享减重40斤方法许家印被限制高消费网友洛杉矶偶遇贾玲何赛飞追着代拍打小米汽车超级工厂正式揭幕男子被流浪猫绊倒 投喂者赔24万沉迷短剧的人就像掉进了杀猪盘特朗普无法缴纳4.54亿美元罚金周杰伦一审败诉网易杨倩无缘巴黎奥运专访95后高颜值猪保姆德国打算提及普京时仅用姓名西双版纳热带植物园回应蜉蝣大爆发七年后宇文玥被薅头发捞上岸房客欠租失踪 房东直发愁“重生之我在北大当嫡校长”校方回应护栏损坏小学生课间坠楼当地回应沈阳致3死车祸车主疑毒驾事业单位女子向同事水杯投不明物质路边卖淀粉肠阿姨主动出示声明书黑马情侣提车了奥巴马现身唐宁街 黑色着装引猜测老人退休金被冒领16年 金额超20万张立群任西安交通大学校长王树国卸任西安交大校长 师生送别西藏招商引资投资者子女可当地高考胖东来员工每周单休无小长假兔狲“狲大娘”因病死亡外国人感慨凌晨的中国很安全恒大被罚41.75亿到底怎么缴考生莫言也上北大硕士复试名单了专家建议不必谈骨泥色变“开封王婆”爆火:促成四五十对测试车高速逃费 小米:已补缴天水麻辣烫把捣辣椒大爷累坏了

装修网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化