【C语言-44】有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student".

目录

 

解题分析:

 代码示例:


解题分析:

  • 题目要求:
  1. 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".
  2. 要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。

 代码示例:

  1.  
    
    #include<windows.h>
    #include<stdio.h>
    //逆置
    
    void reverse(char *left, char *right){
    
    	if (left != 0 || right != 0) {
    
    		while (left < right){
    
    			char tmp = *left;
    
    			*left = *right;
    
    			*right = tmp;
    
    			left++;
    
    			right--;
    
    		}
    
    	}
    }
    
    
    
    void reverse_str(char *str, int len){
    
    	if (str == "")
    
    		return;
    
    	reverse(str, str + len - 1);//整体逆置
    
    
    
    	while (*str != '\0') {
    
    		char *pCur = str;
    
    		if ((*str != '\0') || (*str != ' ')) {
    
    			str++;
    
    		}
    
    		reverse(pCur, str - 1);//单词逆置
    
    	}
    
    }
    
    int main(){
    
    	char str[] = "student a am i";
    
    	printf(" string=%s\n", str);
    
    	reverse_str(str, strlen(str));
    
    	printf(" string=%s\n", str);
    
    	system("pause");
    
    	return 0;
    
    }
    

    运行结果:

  2.  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值