【c语言】把student a am i 变成 i am a student

// 把student a am i 变成 i am a student
//思想:把每个单词翻转,然后再把整体翻转

#include <stdio.h>
#include <string.h>
//把每次解析出来的单词翻转
 void fanw( char *l,char *r )
{
	char* left = l;
	char* right = r;
	char temp;
	while( left < right )
	{
		temp = *left;
		*left = *right;
		*right = temp;
		left++;
		right--;
	}
}
//解析出来每个单词
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-10-26 13:28:46

【c语言】把student a am i 变成 i am a student的相关文章

将student a am I转换为 I am a &nbsp; student(利用空格处理单词)

将student  a  am  I转换为 I  am  a   student #include <stdio.h> #include <string.h> void reverse( char *start,char *end ) {   char* left = start;   char* right = end;   char temp;   while( left < right )   {     temp = *left;    *left = *right;

【面试常考】C语言:输入:&quot;student a am i&quot;,输出&quot;i am a student,不能使用库函数

#include<stdio.h> //#include <assert.h> void my_reverse(char *left ,char * right) {  //assert(left);  //assert(right);   用以处理指针函数为空,保证有效  while(left < right)  {   char tmp =  *left;  //借助中间变量实现逆置   *left =  *right;   *right = tmp;   left ++

字符数组&quot;student a am i&quot;--》&quot;i am a student&quot;

有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". #include<stdio.h> #include<ctype.h> #include<stdlib.h> int my_strlen(const char *s) { char *eos = (char*)s; while (*eos) { eos++; } return (eos - s); } void *my

构建一个学生Student,根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

定义一个表示学生信息的类Student,要求如下: (1)类Student的成员变量: sNO 表示学号: sName表示姓名: sSex表示性别: sAge表示年龄: sJava:表示Java课程成绩. (2)类Student带参数的构造方法: 在构造方法中通过形参完成对成员变量的赋值操作. (3)类Student的方法成员: getNo():获得学号: getName():获得姓名: getSex():获得性别: getAge()获得年龄: getJava():获得Java 课程成绩 根据类

SQL Server 之T-SQL语言的学习

SQL Server 之T-SQL语言的学习 举例: 表1:学生表student 学号 姓名 性别 班级 2007001 李晓明 男 土木0701 2007002 王莉 女 信计0701 表2:成绩表score 学号 课程编号 课程名称 成绩 2007001 1949 高等数学 85 2007001 1823 C语言 98 2007002 1950 数据结构 60 1.数据定义语言 数据库语言属于第四类语言,与其他语言不同之处是: 不区分大小写 字符串全部用单引号 不区分字符和字符串 语句之间不

013-结构体-C语言笔记

学习目录 1.[掌握]返回指针的函数 2.[掌握]指向函数的指针 3.[掌握]结构体的声明 4.[掌握]结构体与数组 5.[掌握]结构体与指针 6.[掌握]结构体的嵌套 7.[掌握]结构体与函数 一.返回指针的函数 指针作为函数的返回值 指针是可以作为函数的返回值的,不能返回局部变量的指针,因为当函数执行结束后指针变量就释放了.如果我们真的需要返回一个指针变量,那就要保证我 们的函数执行完毕之后,指针指向的变量仍然存储在内存之中.那我们可以将变量创建在堆空间中,使用malloc或者calloc申

《C#语言和数据库技术基础》单词必备

<C#语言和数据库技术基础> 第一章1..NET Framework   框架2.sharp            尖锐3.application      应用程序4.developer        开发者5.network          网络6.build            建造,建筑7.console          控制台8.debug            调试9.namespace        命名空间10.project         项目11.solution 

GO语言练习:构建json 和 解析JSON 实例

本文介绍如何使用Go语言自带的库把对象转换为JSON格式,并在channel中进行传输后,并把JSON格式的信息转换回对象. 1.Go语言的JSON 库 Go语言自带的JSON转换库为 encoding/json 1.1)其中把对象转换为JSON的方法(函数)为 json.Marshal(),其函数原型如下 func Marshal(v  interface{}) ([]byte, error) 也就是说,这个函数接收任意类型的数据 v,并转换为字节数组类型,返回值就是我们想要的JSON数据和一

C语言基础(转载自大海笔记)

# C语言基础2015年03月26日10:04:411.    语言排行榜C——java——objective-C2.    进制:进制:进位机制.用普通的话讲,应该为人为的定义一种度量来标识一样东西.计算机常用的进制有:十进制.二进制.八进制和十六进制.?    十进制:0-9(十个指头)(进制表示基数:10)?    二进制:0,1(基数为2)?    八进制:0-7(基数为8)?    十六进制:0-9,A-F(基数为16)    可以有很多进制,比如分钟为60进制等等.3.    位权为