/*
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;
}