C语言程序设计 练习题参考答案 第四章 (1) 一维数组

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

posted @   emanlee  阅读(3369)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示