竞赛题: 回文问题
来源:互联网 发布:图像识别算法matlab 编辑:程序博客网 时间:2024/06/05 10:03
哎。今天知道了个网站,好不容易刷完了一题想上传了却不知道那题题目叫什么。。。还是贴我博客上让我心里平衡点吧
题目如下:
我写的代码:
#include <stdio.h>#include <string.h>#pragma warning( disable : 4996 ) inline char * strFitted( char ** ppStr ) {char * strSrc = * ppStr;* ppStr = new char[ strlen( * ppStr ) + 1 ];strcpy( * ppStr, strSrc );delete [] strSrc;return * ppStr;}inline void strZeroMemory( char ** ppStr ) {memset( * ppStr, 0, sizeof( * ppStr ) );}char * strReverse( char ** ppStr ) {for ( char * pEnd = &( * ppStr )[ strlen( * ppStr ) - 1 ] , * pHead = ( * ppStr );pEnd > pHead; --pEnd, ++pHead ) {* pEnd ^= * pHead;* pHead ^= * pEnd;* pEnd ^= * pHead;}return * ppStr;}inline bool IsPalindrome( char * pStr ) {char * pSrc = new char[ 1000 ];strcpy( pSrc, pStr );bool IsPali = strcmp( strReverse( & pStr ), pSrc );delete [] pSrc;return ! IsPali;}void Proc( char ** ppStrSum, char * pStr ) {char * pWord = new char[ 1000 ];int nWordIndex = 0;strZeroMemory( & pWord );for ( size_t i = 0; i < strlen( pStr ) + 1; ++i ) {if ( * ( pStr + i ) == ' ' || * ( pStr + i ) == '\0' ) { // space fetchedif ( IsPalindrome( pWord ) ) {strcat( * ppStrSum, pWord );strcat( * ppStrSum, " " );}strZeroMemory( & pWord );nWordIndex = 0;} else {* ( pWord + nWordIndex ) = * ( pStr + i );* ( pWord + nWordIndex + 1 ) = '\0';++nWordIndex;}}delete [] pWord;}int main() {int nNum = 0;char * pStrSum = new char[ 100000 ];strZeroMemory( & pStrSum );//printf_s( "Enter the number of string:" );scanf( "%i", & nNum );scanf( "%*c" );//printf_s( "--------------------\n" );for ( size_t i = 0; i < nNum; ++i ) {char * pStr = new char[ 1000 ];//printf_s( "No%d:\n", i );//printf_s( "Enter the string:\n" );strZeroMemory( & pStr );gets( pStr );strFitted( & pStr );Proc( & pStrSum, pStr );//printf_s( "***Current Blocks: %s ***\n\n", pStrSum );delete [] pStr;}printf_s( "%s", pStrSum );delete [] pStrSum;return 0;}运行没有什么问题
0 0
- 竞赛题: 回文问题
- 回文问题
- 回文问题
- 基于visual Studio2013解决C语言竞赛题之0518回文数
- 基于visual Studio2013解决C语言竞赛题之1060寻找回文数
- 对称问题/回文问题
- 小学六年级奥数竞赛题:牛吃草问题
- 回文数问题
- 动态规划回文问题
- 回文串扩展问题
- 回文数 素数问题。
- 最大回文数问题
- Leetcode全回文问题
- 回文判断问题
- 回文串问题总结
- Palindrome<回文>字符串问题
- 回文串问题
- 最长回文数组问题
- Android基础入门教程——1.2.2 使用Android Studio开发Android APP
- java知识
- 设计模式2——简单工厂模式
- 拾取技术和图形管道逆变换
- Linux学习与总结-1入门概念
- 竞赛题: 回文问题
- 事件冒泡机制
- UIcolor RGB颜色
- Web前端学习——JS基础二之图片切换
- cell自定义方式一 高度一致时
- Android控件详解之ImageView
- 游标操作
- QBC运算符含义
- samba应用常见问题 和 修改后的smb.conf文件