问题分析:
strcat、strcpy
动态申请内存记得及时释放,否则容易re
考察:字符串的处理
代码解决部分:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
typedef long long int lli;
char* anti(char* s,int cnt)
{
char *r=(char*) malloc(sizeof(char)*(cnt+1));
strcpy(r,s);
for(int i=0;i<cnt;i++)
{
if(r[i]=='1') r[i]='0';
else r[i]='1';
}
return r;
}
int main()
{
int i;scanf("%d",&i);
char *s=(char*)malloc(sizeof(char)*40000);
s[0]='0';s[1]='\0';
int cnt=1;
for(int k=0;k<i;k++)
{
char* s1=anti(s,cnt);
strcat(s,s1);
free(s1);
cnt*=2;
}
printf("%s",s);
free(s);
return 0;
}