Java编程练习1——求三个数大小,一百个数的和

1.求三个数中最小值和最大值

思路1:先定义两个值min和max赋值给a,然后再将b和c与a进行比较即可

package Hello;

public class test {

	public static void main(String[] args) {
		int a=5,b=7,c=3;
		int min=a;//定义最小值,将a赋给最小值,然后进行比较
		if(b<a){
			min=b;
		}
		if(c<b){
			min=c;
		}
		System.out.println("最小值为:"+min);
		int max=a;//定义最大值,将a赋给最大值,然后进行比较
		if(b>a){
			max=b;
		}
		if(c>b){
			max=b;
		}
		System.out.println("最大值为:"+max);
	}
}

思路2:先定义一个中间变量temp,再将三个数进行比较。将最大值或最小值赋给temp即可

package Hello;

public class test {

	public static void main(String[] args) {
		int a=5,b=7,c=3;
		int temp;
		if(a<b){
			 temp=a;
			 a=b;
			 b=temp;
		}
		if(a<c){
			temp=a;
			a=c;
			c=temp;
		}
		System.out.println("最大值为:"+a);
		if(a>b){
			 temp=a;
			 a=b;
			 b=temp;
		}
		if(a>c){
			temp=a;
			a=c;
			c=temp;
		}
		System.out.println("最小值为:"+a);
	}
}

思路3:直接运用三目运算符,简洁明了

package Hello;

public class test {

	public static void main(String[] args) {
		int a=5,b=7,c=3;
		int t=(a>b)?a:b;//求a与b之间的最大值
		int max=(t>c)?t:c;//求t与c之间的最大值,也就是三个数中的最大值
		System.out.println("最大值为:"+max);
		int s=(a<b)?a:b;//求a与b之间的最小值
		int min=(s<c)?s:c;//求t与c之间的最小值,也就是三个数中的最小值
		System.out.println("最小值为:"+min);
	}
}

三种算法的结果均为:

最大值为:7
最小值为:3

2.求一百个数的和

直接运用for循环即可

package Hello;

public class test {

	public static void main(String[] args) {
		int sum=0;
		for(int i=1;i<=100;i++){
			sum=sum+i;
		}
		System.out.println(sum);
	}
}

结果:

5050

思考有一行数字序列,第一个数字为1,第二个数字为1+2的和,第三个数字为第二个数字+3的和,第四个数字为第三个数字+4的和...(注意这并不是斐波那契数列);思路其实很简单,将输出语句写到for循环里面即可

package Hello;

public class test {

	public static void main(String[] args) {
		int sum=0;
		for(int i=1;i<=100;i++){
			sum=sum+i;
			System.out.print(sum+" ");
			if(i%5==0){
				System.out.println();
			}
		}
	}
}

结果:

1 3 6 10 15 
21 28 36 45 55 
66 78 91 105 120 
136 153 171 190 210 
231 253 276 300 325 
351 378 406 435 465 
496 528 561 595 630 
666 703 741 780 820 
861 903 946 990 1035 
1081 1128 1176 1225 1275 
1326 1378 1431 1485 1540 
1596 1653 1711 1770 1830 
1891 1953 2016 2080 2145 
2211 2278 2346 2415 2485 
2556 2628 2701 2775 2850 
2926 3003 3081 3160 3240 
3321 3403 3486 3570 3655 
3741 3828 3916 4005 4095 
4186 4278 4371 4465 4560 
4656 4753 4851 4950 5050 

斐波那契数列是这样的

package Hello;

public class test {

	public static void main(String[] args) {
		int a1=1,a2=1;
		for(int i=1;i<38;i++){
			System.out.printf("%10d %10d",a1,a2);
			a1=a1+a2;//将前面两个数的和赋值给后面一个数
			a2=a2+a1;//依次循环
			if(i%5==0){
				System.out.println();
			}
		}
	}
}

其结果为(注意输出格式的问题):

         1          1         2          3         5          8        13         21        34         55
        89        144       233        377       610        987      1597       2584      4181       6765
     10946      17711     28657      46368     75025     121393    196418     317811    514229     832040
   1346269    2178309   3524578    5702887   9227465   14930352  24157817   39088169

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值