本文主要是介绍C语言:如何将字符串“student a am I”转换为“I am a student”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实验环境: Windows 8、Visual Studio 2013
实验语言: C语言
实验内容: 现有一个字符串“student a am I”,想将它转换为正常语序“I am a student”,重点考察两个内容,其一:字符串逆置,其二,以空格为界限,将空格之间的字符串认为是一个整体
实验代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<assert.h>char *strReverse(char *str,int len)
{char *start = str;char *end = str + len - 1;while (start < end){*start ^= *end;*end ^= *start;*start ^= *end;start++;end--;}return str;
}char *reverse(char *str,int len)
{assert(str);strReverse(str, len);char *q = str;while (*str != '\0'){char *p = str;int num = 0;while ((*str != ' ') && (*str != '\0')){str++;num++;}strReverse(p, num);if (*str != '\0'){str++;}}return q;
}int main()
{char str[] = "student a am i";int len = strlen(str);reverse(str,len);printf("%s\n", str);system("pause");return 0;
}
实验结果
这篇关于C语言:如何将字符串“student a am I”转换为“I am a student”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!