建立一个一维数组a,数组要预留足够的长度,以完成以下任务:
(1) 自动生成斐波那契数列前10项的值,存入数组a,并输出。(斐波那契数列前两项的值为1,从第三项开始,每一项的值是前两项值的和);
(2) 插入操作:将键盘输入的一个整数插入数组a,使得数组a中的元素仍有序。要求可重复插入数据直到数组空间用完,或者用户不再需要插入数据为止
代码如下:
#include"stdio.h"
int main()
{
int a[100],i=0,b=0,j=0,k=0,o,n;char m;
a[0]=1;a[1]=1;
for(i=1;i<=8;i++)
a[i+1]=a[i-1]+a[i];
for(i=0;i<=9;i++)
printf("%d ",a[i]);
for(n=10;;n++)
{
printf("请输入待插入的数据:");
scanf("%d",&b);
a[n]=b;
for(i=0;i<n-1;i++)
for(j=0;j<=n-i;j++)
if(a[j+1]>a[j]){k=a[j];a[j]=a[j+1];a[j]=k;}
printf("插入数据%d后的有序数列:\n",b);
for(o=0;o<=n;o++)
printf("%d ",a[o]);
putchar('\n');
printf("是否继续插入数据?(y/n):");
scanf("%c",&m);
if(m='y')continue;
else break;
}
}
为什么第四个for循环不执行??