题目描述
01串初始为"0"
按以下方式变换
0变1,1变01
输入
1个整数(0~19)
输出
n次变换后的01串
样例输入
3
样例输出
101
解析:利用两个数组a[],b[],来分别存储变化前和变化后的字符串,然后交替替换。
#include <stdio.h>
#include <string.h>
char a[10005],b[10005];
int main()
{int n,i,cnt,s,cnt2,m=0;while(~scanf("%d",&n)){a[0]='0'; //初始为"0" m=0; for(i=0;i<n;i++){m=0; //m记录b数组的下标 cnt=strlen(a);for(s=0;s<cnt;s++){if(a[s]=='0') b[m]='1',m++; //0变成1 if(a[s]=='1') b[m]='0',m++,b[m]='1',m++; //1变成0 1 }for(s=0;s<cnt;s++) a[s]='\0'; //清空a数组 strcpy(a,b);cnt2=strlen(b);for(s=0;s<cnt2;s++) b[s]='\0'; //清空b数组 }printf("%s\n",a);cnt=strlen(a);for(s=0;s<cnt;s++) a[s]='\0'; //清空a数组 }return 0;
}