刘赤 1-17
1 /* 递归函数理解不够透彻 */
2
3
4
5 #include <stdio.h>
6
7 int max_num(int x,int y);
8 int factorial(int num);
9 int in_num(int num);
10 int A_B(int num1,int num2,int num);
11 int main()
12 {
13 int num1,num2,num;
14
15 printf("比较两个整形数大小:以x-x形式输入\n");
16 scanf("%d-%d", &num1, &num2);
17 printf("%d\n", max_num(num1,num2));
18
19 printf("返回给定正整数的倒序数\n");
20 scanf("%d",&num);
21 printf("%d\n", in_num(num));
22
23 printf("一个整形数的阶乘\n");
24 scanf("%d", &num);
25 printf("%d\n", factorial(num));
26
27 printf("输入A-B-C 三个整形数 判断 C是否在A B之间\n");
28 scanf("%d-%d-%d", &num1, &num2, &num);
29 printf("%c\n", A_B(num1,num2,num) ? 'Y' : 'N');
30
31 return 0;
32 }
33
34
35
36
37 /*
38 1. 求得两个整型数中较大的那一个
39 */
40 int max_num(int x,int y)
41 {
42 return x>y ? x : y;
43 }
44
45
46
47 /*
48 2. 返回给定正整数的倒序数。如给定的是1234,返回4321
49 */
50
51 int in_num(int num)
52 {
53 int innum=0;
54 while(num>0)
55 {
56 innum=innum*10+num%10;
57 num/=10;
58 // 12345
59 }
60 return innum;
61 }
62
63
64 /*3. 用递归求得一个整型数的阶乘*/
65
66 int factorial(int num)
67 {
68 if(num<=1)
69 return 1;
70 return num * factorial(num-1);
71 }
72
73
74
75 /*
76 4. 判断一个整数是否在某两个整数之间/
77 */
78 int A_B(int num1,int num2,int num)
79 {
80 return (num>num2&&num<num1)||(num>num1&&num<num2) ? 1 : 0 ;
81 }
82
83
~
~
~
~
~
浙公网安备 33010602011771号