C语言|嵌入式机考笔试之C语言数组问题

嵌入式机考笔试之C语言数组问题 ?题目要求:

??有一个整形数组buff[N],buff[N+1]描述buff[N],其中buff[0]=1;
??buff[1]用来描述buff[0],buff[1]=11,从左往右表示buff[0]中有1个1;
??buff[2]用来描述buff[1] ,buff[2]=21,从左往右表示buff[1]中有2个1
??buff[3]用来描述buff[2] , buff[3]=1211,从左往右表示buff[2]中有1个2,1个1;
??buff[4]用来描述buff[3] ,buff[4]=111221,从左往右表示buff[3]中有1个1,1个2,2个1;
??输入N,0<=N<=25;
?输入示例:
输入:
1
输出:
11
??从左往右表示buff[0]中有1个1;
输入:
2
输出:
21
??从左往右表示buff[1]中有2个1
输入:
3
输出:
1211
??从左往右表示buff[2]中有1个2,1个1;
输入:
4
输出:
111221
??从左往右表示buff[3]中有1个1,1个2,2个1;
?示例代码:
#include int main() { int buff[1024]={1}; //buff[0]=1 int len=1; int new_buff[1024]={0}; int new_len=0; int cnt=0; int i=0; while(scanf("%d",&cnt)!=EOF)//请求输入N { buff[0]=1; //起始值buff[0]=1 len=1; if(cnt==0)//N=0时,输出则为1 { len=1; buff[0]=1; } else { int j,k; int sum=1; new_len=0; for(i=0; i0) { for(j=0; j

【C语言|嵌入式机考笔试之C语言数组问题】?测试结果:
C语言|嵌入式机考笔试之C语言数组问题
文章图片

    推荐阅读