## Practice it CSE142 MT 06au 的一道题

Write a method named hasMidpoint that accepts three integers as parameters and returns true if one of the integers is the midpoint between the other two integers; that is, if one integer is exactly halfway between them. Your method should return false if no such midpoint relationship exists.
The integers could be passed in any order; the midpoint could be the 1st, 2nd, or 3rd. You must check all cases.
Calls such as the following should return true:
hasMidpoint(4, 6, 8)
hasMidpoint(2, 10, 6)
hasMidpoint(8, 8, 8)
hasMidpoint(25, 10, -5)
Calls such as the following should return false:
hasMidpoint(3, 1, 3)
hasMidpoint(1, 3, 1)
hasMidpoint(21, 9, 58)
hasMidpoint(2, 8, 16)
=========================================================

=========================================================

```public static boolean hasMidpoint(int a,int b,int c){
int e=a+b+c;
if (e/3==a||e/3==b||e/3==c)
return true;
return false;
}```

=============================================================

# name expected return your return result
1 hasMidpoint(1, 2, 3) true true pass
2 hasMidpoint(2, 10, 6) true true pass
3 hasMidpoint(0, -50, -25) true true pass
4 hasMidpoint(21, 9, 58) false false pass
5 hasMidpoint(-2, 9, 27) false false pass
=================================================

==================================================

```public class test{
public static void main(String[] args){
System.out.println(hasMidpoint(0,-51,-25));
}
public static boolean hasMidpoint(int a,int b,int c){
int e=a+b+c;
if (e/3==a||e/3==b||e/3==c)
return true;
return false;
}
}```

//由于是复制过来的，就不能保持很好的代码格式了。

=============================================================

=============================================================

=================================================

`if ((e/3==a||e/3==b||e/3==c)&&e%3==0)`

`System.out.println(hasMidpoint(0,-501,-250));`

=================================================

## [C/C++]关于void main和int main的问题

void main与int main之间的区别是什么？”这是一个常见的问题。我们来探讨一下这个问题，并深入研究一些有关main()函数不同版本的更多的东西。

C与C++在main()函数方面的标准有所不同，所以我们要分开讨论。

int main ( void )
int main ( int argc, char *argv[] )

main()函数的返回类型必须为int；返回的整形值作为传递给调用者的一个返回码。(this allows a return code to be passed to the invoker)

int main ( int argc, char *argv[] )
int main ()

（C）int main()与int main(void)之间的区别：

int foo();

void main()函数是如何处理的？

void foo(void);

http://users.aber.ac.uk/auj/voidmain.shtml

———————————————————————————————————

1。在C++标准中main函数是int的而不是void的。标准C++要求main有int型返回值。而在C中允许void main()即main()无返回值 。C++标准虽然不允许 main为void型，但是在一些编译器比如VC6上允许main为void型， 头文件申明为#include(C++中.h的头文件是对C的支持，是非模板化的) 。但效率低!

2。使用int主要是可以给操作系统返回一个值，让操作系统明白这个程序执行的状态，比如执行这个程序后下一步可能要根据这个返回值做分支处理，如果是void的话就是一个哑巴程序，异常退出和正常推出无法区别，的确移植性很差。

3。1998年后的c++标准写法只有两种：
int main()
int main(int argc, char *argc[]）

4。一定要用的话，可以通过#include来实现对C的支持。
#include
using namespace std;
void main()
{
cout<<"hello,world!"<