简单逆序输出和空格转换

来源:互联网 发布:丁彦雨航体测数据 编辑:程序博客网 时间:2024/06/05 17:29
//1.有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".
//要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。
#include<stdio.h>void server(char *str,int ret){int i=0;int left=0;int right=ret-1;for(i=0; i<ret; i++){int tmp=str[left];str[left]=str[right];str[right]=tmp;left++;right--;}}int main(){char str[]="student a am i";int ret=0;ret=sizeof(str)/sizeof(str[0]);server(str,ret);printf("%s",str);return 0;}
2..字符串替换空格:
请实现一个函数,把字符数组中的每个空格替换成“%20”。

例如输入“we are happy.”,则输出“we%20are%20happy.”。

#include<stdio.h>#include<string.h>int main(){char str[20]="we are happy.";int i=0;int j=0;int n=0;int len=0;len=strlen(str);for(i=0; i< len; i++){if(str[i] == ' ')    //计算空格的个数{n++;}}i=len;j=2*n+len;//改变后数组的长度while(i != j && i >= 0){if(str[i] == ' ')//将空格变为%20{str[j--]='0';str[j--]='2';str[j--]='%';i--;}else//非空格不变{str[j] = str[i];j--;i--; }}len=strlen(str);for(i=0; i<len; i++){printf("%c",str[i]);}printf("\n");return 0;}


0 0
原创粉丝点击