/*
    1.求得两个整形数中较大的那一个
*/

#include<stdio.h>
int compare(int x,int y);
int main(void)
{
 int a,b,i;
 printf("请输入两个需要比较的整形数\n");
 scanf("%d %d",&a,&b);
 i = compare(a,b);
 printf("%d比较大\n",i);
 
 return 0;
}

int compare(int x,int y)
{
 if(x >= y)
 return x;
 else
 return y;
}

/*
 2.返回给定正整数的倒序数。如给定的是1234,返回4321
*/
#include<stdio.h>

int reverse(int i);
int main(void)
{
    int i,x;
    printf("请输入一个正整数,以求其倒序数\n");
    scanf("%d",&i);
    while(i <= 0)    {
    printf("输入错误,请重新输入\n");
    scanf("%d",&i);
    }

    x = reverse(i);
    printf("%d",x);

return 0;
}

int reverse(int i)
{
    int x = 0;
    while(i)
    {
        x = x*10 + i % 10;
        i/=10;
    }

    return x;
}

 

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

#include<stdio.h>
int recursion(int i);

int main(void)
{
    int i,x;
    do    {
    printf("请输入一个整形数求其阶乘\n");
    scanf("%d",&i);
    }    while(i <= 0);
    
    x = recursion(i);
    printf("其阶乘为%d\n",x);

return 0;
}

int recursion(int i)
{
    if(i == 1)
    return 1;
    else
    return i*recursion(i-1);
}

 

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

#include<stdio.h>
int between(int i,int x,int y);
int main(void)
{
    int i,x,y;
    printf("请输入三个数,以判断第一个整数是否在后两个整数之间\n");
    scanf("%d %d %d",&i,&x,&y);
    if(between(i,x,y))
    printf("%d在%d和%d之间",i,x,y);
    else
    printf("%d不在%d和%d之间",i,x,y);
    printf("\n");
return 0;
}

int between(int i,int x,int y)
{
    int out;
    if((i <= x && i >= y) || (i >= x && i <= y))
    out = 1;
    else
    out = 0;
    return out;
}

posted on 2019-01-17 19:19  seraph墨  阅读(70)  评论(0编辑  收藏  举报