对称字符串

C/C++:strlen(), 获取字符串长度。
java中 compareTo(字符串比较),char At(获取字符串的某个字符) indexOf(字串查找)
问题描述
蒜头君认为对称是一种美,他希望任何东西都是对称的,连字符串都是不放过。蒜头君在沙盘上写了这样一些字符串:
A1: A
A2:ABA
A3:ABACABA
A4:ABACABADABACABA

对于给定的N,你能根据规律输出A(N)吗?
输入格式
仅有一个数:N(N<=20)。
输出格式
所在字母组成的图形
样例输入1:2
样例输出1:ABA
样例输入2:3
样例输出2:ABACABA

#include 
#include 
using namespace std;
char ans[5000000];
int main(){
	int n;
	cin>>n;//假设n==2
	size_t len = 0;//计算字符串长度
	for (int i = 1; i <= n; ++i){//i=1时
		strcat(ans + len + 1, ans);//ans[]={'\0','\0'}
		ans[len] = 'A' + i - 1;//ans[0]='A',则ans[]={'A','\0'},构成字符串
		len = strlen(ans);
		//len==1
		//i=2时
		//ans[]={'A','\0','A','\0'}
		//ans[1]='B',则ans[]={'A','B','A','\0'}
		//len==3
		//........
	}
	cout<<ans;
	return 0;
}

你可能感兴趣的:(Algorithm,13计划)