2019.1.17 homework

时间:2023-03-08 18:15:56

1、求两个整型数较大值

#include<stdio.h>
int compare_big(int var1,int var2);
int main(void)
{
    int big,x,y;
    printf("请输入两个整型数:(x/y)");
    scanf("%d/%d",&x,&y);
    big = compare_big(x,y);
    printf("较大的数是:%d\n",big);
    return 0;
}

int compare_big(int var1,int var2)
{
    int t;
    if(var1>var2)
        t=var1;
    if(var1<var2)
        t=var2;
        return t;
}

2输出倒序

#include<stdio.h>
int reverse_order(int var);
int main(void)
{
    int var,new_var;
    printf("请输入一个整型数值:");
    scanf("%d",&var);
    new_var = reverse_order(var);
    printf("%d\n",new_var);
    return 0;
}

int reverse_order(int var)
{
    int var1,nvar=0;//每一位上的数值
    while(var>0)
    {
        var1 = var%10;
        nvar = nvar*10 + var1;
        var  = var/10;
    }
    return nvar;
}

3、递归求阶乘

/*
 3、用递归法求得一个整型数的阶乘
*/
#include<stdio.h>
int factorial(int);
int main(void)
{
    int var,s;
    printf("请输入一个整型数:");
    scanf("%d",&var);
    s = factorial(var);
    printf("%d的阶乘是:%d\n",var,s);
    return 0;
}

int factorial(int var)
{
    int i,svar=1;
    for(i=1;i<=var;i++)
    {
        svar=svar*i;
    }
    return svar;
}

4、判断一个数是否在两个数之间

#include<stdio.h>
int judge(int,int,int);
int main(void)
{
    int var1,var2,var3;
    printf("请输入个三个不同整数:(var1/var2/var3)");
    scanf("%d/%d%d\n",&var1,&var2,&var3);
    if(judge(var1,var2,var3))
        printf("%d在%d和%d之间\n",var1,var2,var3);
    else
        printf("%d不在%d和%d之间\n",var1,var2,var3);
    return 0;
}
int judge(int var1,int var2,int var3)
{
    if(var2<var3)
        return var1>var2&&var1<var3;

else
        return var1<var2&&var1>var3;
}