xdoj里的698题,这里提供了一种比较简短的解决方法。
#include<stdio.h>
int main()
{
int n,i,j,m,a,b;
scanf("%d %d %d",&a,&b,&n);
int s[n];//定义数列,并把前两项赋值
s[0]=a;
s[1]=b;
for(i=2,j=2;j<n;i++)
//这里采取了双变量指针i,j。i是用于按顺序一个个读取数列中的数字,j是为了每次赋值在数列的后方
{
m=s[i-2]*s[i-1];//m用于计算每次算出的乘积,并判断是赋值给后面一个数字还是两个数字
if(m>=10)
{
s[j]=(m-m%10)/10;
s[j+1]=m%10;
j+=2;
}
else
{
s[j]=m;
j++;
}
}
for(i=0;i<n;i++) printf("%d ",s[i]);
}