找回密码
 注册
关于网站域名变更的通知
查看: 333|回复: 1
打印 上一主题 下一主题

关于字符串的逆序题目

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-22 14:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
关于字符串的逆序题目  x6 R4 T* u' D/ H# F- X9 T

- U3 g- E% x; V. I" d% G5 Y' U  Y1 i今天做了一道关于字符串逆序的题目,题目为输入I am a student,而输出为student a am I。这道题的思路很清楚,就是先把整个句子逆序,然后将一个一个单词逆序,这样便得到了最终结果。而在将单词逆序的时候,可以设置两个指针,一个指针依次遍历,当遍历到空格的时候,将此时的指针代表的值赋\0,然后将另一个指针传到逆序函数中,函数结束后,再赋空格。' x/ o0 @; ^4 S" c- }7 i0 o
; ]/ k5 C& h7 O& d! y7 d( w
, p% O* \/ o" G' u% o! _
  • /**********************************************************
  • File Name:         
  • Description:   输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。(笔试题)
  •                 句子中单词以空格符隔开。为简单起见,没有标点符号。
  •                 例如输入“I am a student”,则输出“student a am I”
  • Fuction List:
  • ************************************************************/  
  • #include <stdio.h>  
  • #define N 50  
  •   
  • void overturn1(char *p)  
  • {  
  •     char *h = p;  
  •       
  •     while (*(++p) != '\0')  
  •     {  
  •         ;  
  •     }  
  •     p = p - 1;  
  •     char temp;  
  •     while(h <= p)  
  •     {  
  •         temp = *(p);  
  •         *p = *h;  
  •         *(h) = temp;      
  •         p--;  
  •         h++;  
  •     }  
  • }  
  •   
  • void overturn2(char* p)  
  • {  
  •     char *pre = p;  
  •     char *cur = p;  
  •       
  •     while (*(cur) != '\0')  
  •     {  
  •         if (*(cur) == ' ')  
  •         {  
  •             *cur = '\0';  
  •             overturn1(pre);  
  •             *cur = ' ';  
  •             cur++;  
  •             pre = cur;  
  •         }  
  •         else  
  •         {  
  •             cur++;  
  •         }  
  •     }  
  •       
  •     overturn1(pre);  
  •       
  • }  
  •   
  • int main()  
  • {  
  •     char phrase[N] = {0};  
  •       
  •     printf("please input:\n");  
  •     gets(phrase);  
  •       
  •     overturn1(phrase);  
  •     overturn2(phrase);  
  •     puts(phrase);  
  •       
  •     return 0;  
  • }  " M1 v+ K& n4 U, Y
4 d) c- ?' N" H) h

该用户从未签到

2#
发表于 2019-2-22 18:03 | 只看该作者
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-19 20:31 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表