算法(一)入门篇
问题:a,b,c 三个不相等的整数,使用“>”来获取最大值。(最小值原理类似)
首先声明,算法不是程序,但是算法可以用程序来实现(算法本身和程序没有太大关系)。
1、使用Java代码实现如下:
package com.suanfa;
import org.junit.Test;
public class ABC {
@Test
public void testGetMax() {
int max = getMax();
System.out.println(max);
}
public int getMax() {
int a , b ,c;
a = 10 ;
b = 20 ;
c = -2;
//a和b进行比较
if(a>b) {
//a和b中的最大值为a,我们只需要把a和c进行比较即可知道
if(c>a) {
//当c大于a时,c为最大值
return c;
}else {
//否则a为最大值,此时我们的前提已经是a>b了
return a;
}
}else {
//进入这里的时候说明a是不大于b的,但是我们的前提就是三个不相等的整数
//此时a<b,最大值是b
//当c>b时,c是最大值
if(c>b) {
return c;
}else {
//此时,b是大于a的,所以当c<b时,b是最大值
return b;
}
}
}
}
运行结果如图(1-1)所示:
图(1-1)
2、C语言实现代码如下:
#include "stdio.h"
int main() {
int a = 10;
int b = 20;
int c = 1;
int max = getMax(a,b,c);
printf("%d\n", max);
system("pause");
return 0;
}
int getMax(int a,int b,int c) {
//a和b进行比较
if (a>b) {
//a和b中的最大值为a,我们只需要把a和c进行比较即可知道
if (c>a) {
//当c大于a时,c为最大值
return c;
}
else {
//否则a为最大值,此时我们的前提已经是a>b了
return a;
}
}
else {
//进入这里的时候说明a是不大于b的,但是我们的前提就是三个不相等的整数
//此时a<b,最大值是b
//当c>b时,c是最大值
if (c>b) {
return c;
}
else {
//此时,b是大于a的,所以当c<b时,b是最大值
return b;
}
}
}
运行结果如图(2-1):
图(2-1)
3、算法入门结束,我们接下来学习冒泡吧。