zoukankan      html  css  js  c++  java
  • 嵌入式培训学习历程第十天(休息日)

      今天,做了一下老师布置的习题。先放上面,明天,老师讲了,再优化。。

      1.使用递归的方式计算1 + 2  + 3 + 4+... +n 之和。

     #include <stdio.h>
      2 
      3 long long sum_number(int);
      4 
      5 int main(int argc, char *argv[])
      6 {
      7     int n;
      8     long long sum = 0;
      9 
     10     printf("Enter you want sum's best numbers : ");
     11     scanf("%d", &n);
     12 
     13     if(n < 0) {
     14         printf("Your Enter is Error!.
    ");
     15         return 0;
     16     }
     17 
     18     sum = sum_number(n);
     19 
     20     printf("The 1 + 2 + ...+ %d is :  %lld
    ", n, sum);
     21 
     22     return 0;
     23 }
     24 
     25 long long sum_number(int n)
     26 {
     27     if(0 == n) {
     28         return 0;
     29     }
     30     else {
     31         return  n + sum_number(n - 1);
     32     }
     33 }
    ~                                  

      2.使用递归的方式计算闰年

    #include <stdio.h>
      2 
      3 int leap_year(int);
      4 
      5 int main(int argc, char *argv[])
      6 {
      7     int year;
      8 
      9     printf("Enter year : ");
     10     scanf("%d", &year);
     11 
     12     if(leap_year(year)) {
     13         printf("The %d is leap year .
    ", year);
     14     }
     15     else {
     16         printf("The %d is not leap year. 
    ", year);
     17     }
     18 
     19     return 0;
     20 }
     21 
     22 int leap_year(int year)
     23 {
     24     if((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {
     25         return 1;
     26     }
     27     else {
     28         return 0;
     29     }
     30 }
    ~                                 

      3.对一个小数进行四舍五入

      1 #include <stdio.h>
      2 #include <math.h>
      3 
      4 int sishe_wuru(double);
      5 
      6 int main(int argc, char *argv[])
      7 {
      8     double num;
      9     int i = 0;
     10 
     11     printf("Enter a doule number : ");
     12     scanf("%lf", &num);
     13 
     14     i = sishe_wuru(num);
     15 
     16     printf("The number %.4lf sishe_wuru is %d.
    ", num, i);
     17 
     18     return 0;
     19 }
     20 
     21 int sishe_wuru(double num)
     22 {
     23     int i = 0,itemp = 0;
     24     itemp = (int)num;
     25     if(num > 0) {
     26         i = (num - itemp) >= 0.5 ? ceil(num - itemp) : floor(num - itemp);
     27         return i + itemp;
     28     }
     29     else {
     30         i = (num - itemp) > -0.5 ? ceil(num - itemp) : floor(num - itemp);
     31         return i + itemp;
     32     }
     33 }
     34 
    ~   

      4.计算fibonacci数列,例 : fib(0) = 1, fib(1) = 1, fib(n) = fib(n - 1) + fib(n - 2); 

     1 #include <stdio.h>
      2 
      3 long fib(int);
      4 
      5 int main(int argc, char *argv[])
      6 {
      7     int n;
      8     long num = 0;
      9 
     10     printf("Enter you want know's fibonacci's the first few : ");
     11     scanf("%d", &n);
     12 
     13     if(n < 0) {
     14         printf("Your enter is ERROR !!!.
    ");
     15         return 0;
     16     }
     17 
     18     num = fib(n);
     19 
     20     printf("The fib %d is : %ld.
    ", n, num);
     21 
     22     return 0;
     23 }
     24 
     25 long fib(int n)
     26 {
     27     if(0 == n) {
     28         return 1;
     29     }
     30     if(1 == n) {
     31         return 1;
     32     }
     33     if(n > 1) {
     34         return fib(n -1) + fib(n -2);
     35     }
     36 }

      5.计算两个数的最大公约数。

      1 #include <stdio.h>
      2 
      3 int zuida_gongyue(int, int);
      4 
      5 int main(int argc, char *argv[])
      6 {
      7     int num1, num2, itemp;
      8     int yueshu = 0;
      9 
     10     printf("Enter two number : ");
     11     scanf("%d %d", &num1, &num2);
     12 
     13     if(num1 < num2) {
     14         itemp = num1;
     15         num1 = num2;
     16         num2 = itemp;
     17     }
     18     yueshu = zuida_gongyue(num1, num2);
     19 
     20     printf("The number %d and %d zuida_gongyue is %d.
    ", num1, num2, yueshu);
     21 
     22     return 0;
     23 }
     24 
     25 int zuida_gongyue(int num1, int num2)
     26 {
     27     int n = 0;
     28     n = num1 % num2;
     29     num1 = num2;
     30     num2 = n;
     31     if(num2 == 0) {
     32         return num1;
     33     }
     34     else {
     35         return zuida_gongyue(num1, num2);
     36     }
     37 }

       先这几道了,其它的题,过几天会粘上的。如果有错的,欢迎指正。。谢谢!!!!

              

              

          

              加油,宝贝!!!!

  • 相关阅读:
    php命令注入
    mysql事物
    安装php环境
    移除服务器缓存实例
    show user profile synchronization tools
    manual start user profile import
    JSON is undefined. Infopath Form People Picker in SharePoint 2013
    asp.net web 应用站点支持域账户登录
    Load sharepoint envirement by powershell
    sharepoint 2016 download
  • 原文地址:https://www.cnblogs.com/cxw825873709/p/3221971.html
Copyright © 2011-2022 走看看