刚写成求最大的了:
最小的这样:
#include <iostream>
using namespace std;
int main()
{
int a=0,b=0,c=0,min;
cin>>a>>b>>c;//输入三个数
if(a<b)
min=a; //先任意比较其中两个,把小的那个数赋值给min
else //然后min就成了 a,b中较小的那个
min=b;
if(min>c) //接下再用 min和第三个数比较,如果第三个数比min小
min=c;//就把第三个数的值给min
cout<<min; //输出最小的数min
return 0;
}
或者:
#include <iostream>
using namespace std;
int main()
{
int a=0,b=0,c=0,min;
cin>>a>>b>>c;//输入三个数
min=a<b?a:b; //利用三目运算符得到较小值
min=min<c?min:c;
cout<<min<<endl;
return 0;
}
1.如下,最基础的方法,挨个比较
#include <iostream>
using namespace std;
int main()
{
int a=0,b=0,c=0,max;
cin>>a>>b>>c;//输入三个数
if(a>b)
max=a; //先任意比较其中两个,把大的那个数赋值给max
else //然后max就成了 a,b中较大的那个
max=b;
if(max<c) //接下再用 max和第三个数比较,如果第三个数比max大
max=c;//就把第三个数的值给max
cout<<max; //输出最大的数max
return 0;
}
或者:
#include <iostream>
using namespace std;
int main()
{
int a=0,b=0,c=0,max;
cin>>a>>b>>c;//输入三个数
max=a>b?a:b; //利用三目运算符得到较大值
max=max>c?max:c;
cout<<max<<endl;
return 0;
}
2.如下:
#include <iostream>
#include <cstdio>
using namespace std;
double fact(int num)
{
if(num==0 || num==1) //1或者0的阶乘为1
return 1; //这个确定的结果是递归的终止
else if(num>=2) //递归公式:fact(n)=n*fact(n-1)
return num*fact(num-1);
}
int main()
{
int n=0;
cin>>n;
printf("%d的阶乘为:%.0lf",n,fact(n));
return 0;
}
函数方法就
写个函数,传入三个值,在函数中做判断,输出最小的值
函数内部你可以两两比较,较小值在和第三个数比较,最终目的就是输出一个最小值,内部写法可以很多样
递归求阶乘就是说f(n)=n*f(n-1),这里f(n-1)就是n-1的阶乘,在外部你可以将其视作一个值,在函数内部,f(n-1)=(n-1)*f(n-2),这样一次递推下去,最终拿到f(1)=1,再逐层传递出来
有帮助望采纳
#include<iostream>
using namespace std;
int jiecheng(int n)
{
if (n == 1) //递归的结束条件,一定要有
{
return 1;
}
else
{
return n*jiecheng(n - 1);
}
}
int main()
{
int n;
cin >> n;
cout << n << "!= " << jiecheng(n);
}
递归可以用栈来理解,后进先出