C語言程式設計 練習題參考答案 第四章 (1) 一維數組

來源:互聯網
上載者:User

 /*  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();
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.