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<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语言题目,构造回文串。大神进。的主要内容,如果未能解决你的问题,请参考以下文章