/* 4.11 fibonacci數列,前15項 1,1,2,3,5,。。。。。*/
#include "stdio.h"
void main()
{
int f[15]={1,1}, i;
for(i=2;i<=14;i++) /* 計算 */
f[i]=f[i-2]+f[i-1];
printf("fibonacci數列,前15項\n"); /* 輸出 */
for(i=0;i<=14;i++)
{
printf("%5d",f[i]);
if((i+1)%5==0)
printf("\n");
}
}
/* 4.12 數組元素前移動一個位置 */
#include "stdio.h"
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,t;
printf("\n移動之前:\n");
for(i=0;i<=9;i++)
printf("%3d",a[i]);
/* 移動 */
t=a[0];
for(i=0;i<=9;i++)
a[i]=a[i+1];
a[9]=t;
printf("\n移動之後:\n");
for(i=0;i<=9;i++)
printf("%3d",a[i]);
}
/* 4.13 有序數列中插入若干個數,仍然保持有序 */
#include "stdio.h"
void main()
{
int a[100]={1,4,8,10};
int i,k,x,count=4;/* i,k 迴圈變數, x 輸入整數,count 有多少整數*/
printf("\n請輸入要插入的整數,輸入之後按斷行符號鍵,如要結束請輸入-1\n");
scanf("%d",&x);
while(x!=-1)
{
/* 尋找插入位置 */
for(i=0;i<count;i++)
{
/* 找到插入位置 */
if(a[i]>=x)
{
/* 移動 */
for(k=count;k>i;k--)
a[k]=a[k-1];
/* 插入 */
a[i]=x;
break;
}
}
if(i>=count)
a[i]=x;
count=count+1;
printf("\n插入之後的數組為:\n");
for(i=0;i<count;i++)
printf("%4d",a[i]);
printf("\n請輸入要插入的整數,輸入之後按斷行符號鍵,如要結束請輸入-1\n");
scanf("%d",&x);
}
}
/* 4.15 將十進位數轉換成位元,並按位存放到數組中。(限正整數) */
#include "stdio.h"
#include "conio.h"
void main()
{
int decimal, binary[32], i=0, quotient;
printf("請輸入一個十進位數\n");
scanf("%d",&decimal);
/* 計算 */
quotient=decimal/2;
binary[i]=decimal%2;
decimal=quotient;
while(quotient!=0)
{
i++;
quotient= decimal/2;
binary[i]=decimal%2;
decimal=quotient;
}
/* 輸出 */
while(i>=0)
{
printf("%d",binary[i]);
i--;
}
getch();
}