【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下
的用C表示。
1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
这道题目比较简单直接看代码
import java.util.*;
public class TestP5{
public static void main(String[] args){
int x;
String grade;
Scanner s = new Scanner(System.in);
System.out.print("please entry a number:");
x = s.nextInt();
grade = (x >= 90) ? "A":x >= 60 ? "B" : "C";
System.out.println(grade);
}
}
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1. 程序分析:利用辗除法。
在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
import java.util.*;
public class TestP6{
public static void main(String[] args){
int a,b,m,n;
System.out.print("please entry the first number:");
Scanner s = new Scanner(System.in);
a = s.nextInt();
System.out.print("please entry the second number:");
b = s.nextInt();
m = deff(a,b);
n = a*b/m;
System.out.println("最大公约数: " + m);
System.out.println("最小公倍数: " + n);
}
public static int deff(int x,int y){
if(x < y){
int t;
t = x;
x = y;
y = t;
}
while(y != 0){
if(x == y){
return x;
}else{
int k;
k = x%y;
x = y;
y = k;
}
}
return x;
}
}