【C语言】将字符串顺序翻转,如: I am a student 转成:student a am I

//将字符串顺序翻转
//如: I am a student  转成:student a am I
#include <stdio.h>
#include <string.h>
void fanw( char *left,char *right ) //把每个单词单词翻转
{
	char* pleft = left;
	char* pright = right;
	char temp;
	while( pleft < pright )
	{
		temp = *pleft;
		*pleft = *pright;
		*pright = temp;
		pleft++;
		pright--;
	}
}
void fans( char *p )  //在字符串中找出单词
{

	while( *p != '\0')
	{
		char *pst = p;
		while( *p != '\0' && *p != ' ' )
		{
			p++;
		}
		fanw( pst,p-1 );
		p++;
	}
}

int main()
{
	char p[30] = "student a am i";
	int len = strlen(p);
	printf("原字符串为 : %s\n",p);
	printf("翻转后的字符串为 :");
	fanw(p,p+len-1);
	fans(p);
	printf("%s\n",p);
	return 0;
}

时间: 2024-11-09 03:22:50

【C语言】将字符串顺序翻转,如: I am a student 转成:student a am I的相关文章

单词、字符串儿翻转,栈实现!

对字符串"this is very good"进行翻转,即"good very is this".注意每一个单词仍是正序 思路: 1.字符串的翻转的问题.能够使用栈实现. 2.先把全部字符翻转,然后对再对某一个单词翻转,终于实现题目要求. C语言代码例如以下: 先把简单的栈实现列出来: #ifndef dataStruct_myStack_h #define dataStruct_myStack_h #define kStacksize 100 typedef st

C语言里字符串的解析

原文网摘:http://www.cnblogs.com/yi-meng/p/3620244.html#undefined 根据给定的字符串,按照一定规则解析字符串,卡住好几次,这次做个笔记,以供参考 函数名称:   strtok 函数原型:   char *strtok(char *s1, const char *s2) 函数功能:   分解s1字符串为用特定分隔符分隔的多个字符串(一般用于将英文句分解为单词) 函数返回:   字符串s1中首次出现s2中的字符前的子字符串指针 参数说明:   s

字符串儿翻转,栈实现!

对字符串"this is very good"进行翻转,即"good very is this":注意每个单词仍是正序 思路: 1.字符串的翻转的问题,可以使用栈实现. 2.先把所有字符翻转,然后对再对某一个单词翻转,最终实现题目要求. C语言代码如下: 先把简单的栈实现列出来: #ifndef dataStruct_myStack_h #define dataStruct_myStack_h #define kStacksize 100 typedef struc

c语言中字符串操作的工具类

 1.编写头文件 #define _CRT_SECURE_NO_WARNINGS //#pragmawarning(disable:4996) #include <stdio.h> #include <stdlib.h> #include <string.h> struct CString { char *p;        //保存字符串首地址 int reallength; //实际长度 }; typedef struct CString mystring;//

SQL语言逻辑执行顺序

SQL语言逻辑执行顺序 2012-12-18 16:18:13 分类: 数据库开发技术 查询的逻辑执行顺序 FROM < left_table> ON < join_condition> < join_type> JOIN < right_table> WHERE < where_condition> GROUP BY < group_by_list> WITH {cube | rollup} HAVING < having_c

C语言中字符串如何转换为二进制、八进制、十进制、十六进制

在C语言某个程序当中需要把文本16进制转换成对应的16进制数,比如字符串"0x1a"转换成10进制的26,可以用以下函数来实现 相关函数: atof, atoi, atol, strtod, strtoul表头文件: #include <stdlib.h>定义函数: long int strtol(const char *nptr, char **endptr, int base):函数的解释说明 这个函数会将参数nptr字符串根据参数base来转换成长整型数.参数base

iOS开发入门 ? C语言(字符串、字符串数组、命令行参数)

字符串 1. 概念 用双引号引起来的就是字符串 "a string" //C语言编译器会将两个并列的字符串自动拼接成一个字符串 "a string""another a string" // \是换行连接的标记(一行不够写) "a looooooooooong \ string" 常见ASCII编码: 'A' == 65    'a' == 97    '0' == 48    '\0' == 0 int a[10]; //表

C语言之字符串处理函数

C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数).所有的C语言编译系统中一般都提供这些函数. 1.puts函数——输出字符串的函数 一般的形式为puts(字符串组) 作用:将一个字符串输出到终端.如,char一个string,并赋予初值.调用puts(string);进行字符串的输出. 2.gets函数——输入字符串的函数 一般的形式:gets(字符数组) 作用:从终端输入一个字符串到字符数组,并且得到一个函数值成为字符数组的起始地址. ge

D语言中字符串的操作

字符串的操作在软件开发中是特别重要的一个事情,因为基本上的编程都会使用到字符串,字符串操作的好坏决定着一个语言的好与差.在我做过的一个项目中曾经就出现过字符串操作性能问题. D语言字符串有 string,wstring,dstring三种类型,在D语言中字符串是使用字符数组定义的,三种类型分别对应char,wchar,dchar.char只有一个字节,wchar为双字节,dchar为三字节.对字符串的操作也相当于是对数组的操作,这跟其它语言不一样,C++中字符串是以string类来进行封装,它的