当前位置: 代码迷 >> 综合 >> ZCMU--2134: 01串(C语言)
  详细解决方案

ZCMU--2134: 01串(C语言)

热度:47   发布时间:2023-12-06 10:11:29.0

题目描述

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;
}