编程入门练习#01


1、用辗转相除法计算两个数的最大公约数

public class Main{
	public static void main(String[] args) {
		int u = 15;
		int v = 23;
		int temp;
		
		while(v!=0)
		{
			temp = u%v;
			u = v;
			v = temp;
		}
		System.out.println(u);
		
	}
}

2、判断两个浮点数是否相等

public class Main{
	public static void main(String[] args) {
		int a = 1;
		double b = 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
		System.out.println("a="+a);
		System.out.println("b="+b);
		System.out.println(a==b);
		System.out.println(Math.abs(a-b)<1e-6);//a和b差的绝对值,小于10的-6次方
	}
}

3、求三个数的最大值

public class Main{
	public static void main(String[] args) {
		int a=10;
		int b=8;
		int c=20;
		int max;
		if(a>b)
		{
			if(a>c)
			{
				max=a;
			}
			else
			{
				max=c;
			}
		}
		else
		{
			if(b>c)
			{
				max=b;
			}
			else
			{
				max=c;
			}
		}
		System.out.println(max);
	}
}

4、判断所输入数字的位数

public class Main{
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int num = in.nextInt();
		int count = 0;
		/*
		while(num>0)
		{
			num = num/10;
			count = count + 1;
		}
		*/
		do
		{
			num = num/10;
			count = count + 1;
		}while(num>0);
		System.out.println(count);
	}
}

5、输入一串数字并计算其平均数

import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int count = 0;
		double avg = 0;
		int sum = 0;
		int num;
		/*
		int num = in.nextInt();
		while(num!=-1)
		{
			sum = sum + num;
			count = count + 1;
			num = in.nextInt();
		}
		if(count>0)
		{
			avg = sum/count;
			System.out.println(avg);	
		}
		*/
		do
		{
			num = in.nextInt();
			if(num != -1)
			{
				sum = sum + num;
				count = count + 1;				
			}
		}while(num != -1);
		if(count>0)
		{
			avg = sum/count;
			System.out.println(avg);
		}		
	}
}