UEA1224——郭恩赐 day03 作业

一、不理解知识点:

二、作业

  定义以下函数:

  1. 求得两个整型数中较大的那一个

 1 #include<stdio.h>
 2 
 3 int max(int x,int y); 
 4 int main(void)
 5 {
 6     int x,y;
 7     printf("请输入两个整型数x/y:");
 8     scanf("%d/%d",&x,&y);
 9     printf("较大的数值是%d\n",max(x,y));
10 }
11 
12 //求两个整形数中较大的哪一个
13 int max(int x,int y)
14 {
15     return (x > y ? x : y) ;
16 }

 

  2. 返回给定正整数的倒序数。如给定的是1234,返回4321

 1 #include<stdio.h>
 2 #define TEN 10
 3 
 4 int reverse(int n);
 5 int main(void)
 6 {
 7     int num,reverse_num;
 8     printf("请输入一个正整数:");
 9     scanf("%d",&num);
10     
11     reverse_num = reverse(num);
12     printf("%d de 倒序数是%d\n",num,reverse_num );
    return 0;
13 } 14 15 //求一个正整数的倒序数 16 int reverse(int n) 17 { 18 int res=0,num; 19 num = n; 20 while(num) 21 { 22 res= num % TEN + res * TEN; 23 num /= TEN; 24 } 25 return res; 26 }

 

  3. 用递归求得一个整型数的阶乘

#include<stdio.h>
int factorial(int n);

int main(void)
{
    int n,res;
    printf("请输入一个整形数:");
    scanf("%d",&n);
    res = factorial(n);
    printf("%d ! = %d\n",n,res);
    return 0;
}

//用递归求得一个整型数的阶乘
int factorial(int n)
{
    if(n<0) return -1;
    if(n == 0 || n ==1 ) return 1;
    return n * factorial(n-1);
}

 

  4. 判断一个整数是否在某两个整数之间

#include<stdio.h>
int is_inside(int i,int st,int ed);

int main(void)
{
    int num,start,end;
    printf("请输入范围的两个整数:");
    scanf("%d%d",&start,&end);
    printf("请输入要判断的数:");
    scanf("%d",&num);
    if (is_inside(num,start,end)) printf("%d在%d之间%d\n",num,start,end);
    else printf("%d不在%d之间%d\n",num,start,end);
    return 0;
}

//判断一个整数是否在某两个整数之间
int is_inside(int i,int st,int ed)
{
    return  i >= st && i < ed;
}

 

posted @ 2019-01-17 20:25  起个神马昵称  阅读(148)  评论(0编辑  收藏  举报