C语言题目,构造回文串。大神进。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言题目,构造回文串。大神进。相关的知识,希望对你有一定的参考价值。

输入一个字符串,构造一个新的回文字符串并输出。新的回文字符串的构造方法:将原字符串的逆序字符串连接到原字符串的后面。
输入一个字符串(长度不超过50个字符)
#include<stdio.h>
#include<string.h>
void main()

char a[50],b[50];
gets(a);
int i,p,q;
i=strlen(a);
q=i;
for(p=0;p<i;p++)
q--;
b[p]=a[q];

strcat(a,b);
puts(a);

请大神看看错在哪里。谢谢

#include<stdio.h>
#include<string.h>
void main()

//char a[50],b[50];//<<<没初始化,而后面用时又没加结束符,越界!
char a[50],b[50]=0;
gets(a);
int i,p,q;
i=strlen(a);
q=i; b[i]='\0'; //<<先放一个结束符 上中下三处任改一处即可无问题
for(p=0;p<i;p++)
q--;
b[p]=a[q];
b[p]='\0';//<<补在这也行
strcat(a,b);
puts(a);
参考技术A #include "stdafx.h"
#include<stdio.h>
#include<string.h>
#include<iostream>

void main()

char a[50],b[50];
gets(a);
int i,p,q;
i=strlen(a);
a[i] = '\0' ;//要设置好结束标志
b[i] = '\0' ;
q=i;
for(p=0;p<i;p++)

q--;
b[p]=a[q];

strcat(a,b);
puts(a);
system("pause") ;
参考技术B b中没有结束字符'\0'
循环后添加b[p]='\0'

以上是关于C语言题目,构造回文串。大神进。的主要内容,如果未能解决你的问题,请参考以下文章

C语言:编写一个测试一个串是不是为回文的递归函数,是回文,返回1;不是,返回0。

409. 最长回文串

leetcode每日一题:409. 最长回文串

LeetCode409 最长回文串

#yyds干货盘点# leetcode算法题:最长回文串

LeetCode 409. 最长回文串