zoukankan      html  css  js  c++  java
  • C Primer+Plus(九)编程练习

    1、编写一个函数。函数的3个参数是一个字符和两个整数。字符参数是需要输出的字符,第一个整数说明在每行中该字符的个数,第二个整数说明需要输出的行数。

    #include<stdio.h>
    void showchar(char c,int a,int b)
    {
      int i,j;
      for(i=0;i<b;i++)
        {
           for(j=0;j<a;j++)
             putch(c);
         putch(10);  //为何这不能回车,只是换行?
         putch(13);  
        }
    }
    int main(void)
    {
      void showchar(char,int,int);
      char x='J';
      int y=12,z=5;
      showchar(x,y,z);
      getch();
      return 0;
    }

    2、编写并测试一个函数Fibonacci(),分别使用循环和递归算法完成斐波纳契数列的计算。

    #include<stdio.h>
    long unsigned int Fibonacci1(int n)
    {
      if(n==1) return 0;
      if(n==2) return 1;
      else
        return (Fibonacci1(n-1)+Fibonacci1(n-2));
    }  //递归算法
    
    long unsigned int Fibonacci2(int n)
    {
      long int i,a0,a1,ap;
      i=0;
      a0=0;
      a1=1;
      if(n==1) return 0;
      if(n==2) return 1;
      else
      {
        while(i<(n-3))                  //更新(n-3)次
         {ap=a1;a1=a0+a1;a0=ap;i++;}     //每次循环,更新前两项的值
        return(a0+a1);
      }
    }  //循环算法
    
    int main(void)
    {
      long unsigned int Fibonacci1(int);
      long unsigned int Fibonacci2(int);
      int x;
      int i;
      printf("input number[0,1000]:
    ");
      scanf("%d",&x);
      for(i=1;i<=x;i++)
        printf("%ld ",Fibonacci1(i));
      printf("
    ");
      getch();
      printf("
    ");
      for(i=1;i<=x;i++)
        printf("%ld ",Fibonacci2(i));
      getch();
      return 0;
    }
      
  • 相关阅读:
    wikiquote
    zz 勵志貼,成功是努力加对的方向
    # 电纸书
    # 崔寶秋
    好的程序員
    深度学习引擎
    再见乱码:5分钟读懂MySQL字符集设置
    Linux基础:用tcpdump抓包
    Linux基础:文件查找find
    Linux基础:xargs命令
  • 原文地址:https://www.cnblogs.com/tsembrace/p/3142546.html
Copyright © 2011-2022 走看看