zoukankan      html  css  js  c++  java
  • 《Linux C编程一站式学习》第5章深入理解函数课后作业

    1、编写一个布尔函数int is_leap_year(int year),判断参数year是不是闰年。如果某年份能
    被4整除,但不能被100整除,那么这一年就是闰年,此外,能被400整除的年份也是闰年。

     1 #include <math.h>
     2 #include <stdio.h>
     3 
     4 int is_leap_year(int year){
     5    printf("%d
    ",year%4);
     6    printf("%d
    ",!year%4);
     7    if(year%4==0||year%400==1){
     8      return 1;
     9    }
    10    return 0;
    11 }
    12 
    13 int main(void){
    14      int year;
    15      printf("Please input the year:
    ");
    16      scanf("%d", &year);
    17 //     printf("%d
    ", year);
    18      if(is_leap_year(year)){
    19         printf("%d is leap year.
    ", year);
    20      }else{
    21         printf("%d is not leap year.
    ", year);
    22      }
    23 
    24    return 0;
    25 }

    2、编写一个函数double myround(double x),输入一个小数,将它四舍五入。例如myround(-3.51)的值是-4.0,myround(4.49)的值是4.0。可以调用math.h中的库函数ceil和floor实现这个函数。

     1 #include <math.h>
     2 #include <stdio.h>
     3 
     4 double myround(double x){
     5    if(x>=0){
     6      return floor(x);
     7    }
     8    return -ceil(-x);
     9 }
    10 
    11 int main(void){
    12    double x;
    13    printf("Please input the number x:
    ", x);
    14    scanf("%lf", &x);
    15    printf("The result is:%lf
    ", myround(x));
    16    return 0;
    17 }

    3、编写递归函数求两个正整数a和b的最大公约数(GCD,Greatest Common Divisor),使
    用Euclid算法:
    1). 如果a除以b能整除,则最大公约数是b。
    2). 否则,最大公约数等于b和a%b的最大公约数。

     1 #include <math.h>
     2 #include <stdio.h>
     3 
     4 int gcd(int a, int b){
     5    int mod;
     6    if(a>b){
     7       mod = a%b;
     8       if(mod == 0){
     9          return b;
    10       }
    11       return gcd(b, mod);
    12    }else{
    13       mod = b%a;
    14       if(mod == 0){
    15          return a;
    16       }
    17       return gcd(a, mod);
    18    }
    19 }
    20 
    21 
    22 int main(void){
    23    int a, b;
    24    printf("Please input a and b:
    ");
    25    scanf("%d%d", &a, &b);
    26    int gcdVal =  gcd(a, b);
    27    printf("The greatest common divisor is:%d
    ",gcdVal);
    28 
    29    return 0;
    30 }
  • 相关阅读:
    jquery键盘事件
    如何将奇艺、优酷等平台的视频嵌入到项目中
    ubuntu 10.04 常用 设置
    博客风格收集
    多张图片上传预览
    动态计算输入框字符个数
    Ubuntu Linux下设置IP的配置命令
    js事件浏览器兼容
    开源软件下载站
    PHPstrom的一个小技巧
  • 原文地址:https://www.cnblogs.com/davidxu/p/10001864.html
Copyright © 2011-2022 走看看