三角形的面积(1)
题目描述
已知三角形的两边和夹角的度数,请按公式S=absin(C)/2
这里a、b是三角形的两边,C是这两边的夹角,求三角形的面积。其中pi取3.1415926。
输入格式
输入有若干组数据,对于每组数据:
输入一行有三个浮点数,分别代表三角形的两边边长a、b及夹角C。
注:夹角C的单位为度。
输出格式
对于每组数据输出三角形的面积。结果保留两位小数。
输入样例
3 4 90
5.8 8 30
6.5 9.3 120
输出样例
6.00
11.60
26.18
import java.util.Scanner;
public class p15 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextDouble()){
double PI = 3.1415926;
double a = sc.nextDouble();
double b = sc.nextDouble();
double C = sc.nextDouble();
double c = C * PI / 180;
double S = a * b * Math.sin(c) / 2;
System.out.printf("%.2f%n",S);
}
}
}
两点距离
题目描述
当x很小时,有公式:e^x≈1+x。现在对不同的x,请你求出它们的误差的绝对值。
输入格式
输入有多行,每行一个double型的小数。
输出格式
对每个x输出对应的误差值,既:|e^x-(1+x)|的值。保留6位小数
输入样例
0.1
0.06
0.001
0.0001
输出样例
0.005171
0.001837
0.000001
0.000000
import java.util.Scanner;
public class p16 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextDouble()){
double x = sc.nextDouble();
double error = Math.abs(Math.exp(x)-(1+x));
System.out.printf("%.6f%n",error);
}
}
}
你会四舍五入吗
题目描述
学C语言了,可以编程解决很多问题,但没有一个C语言中的函数能完成四舍五入。
请编程解决这个问题。如输入2.055 0.154 10.159 99.999,则输出2.06 0.15 10.16 100.00。
输入格式
输入有若干行,每行一个浮点数x,都是三位小数
输出格式
输出四舍五入后的两位小数x。
输入样例
2.055
0.154
10.159
99.999
3.565
输出样例
2.06
0.15
10.16
100.00
3.57
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.Scanner;
public class p17 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextDouble()){
double x = sc.nextDouble();
BigDecimal bd = new BigDecimal(x);
/*setScale是BigDecimal类的方法,在Java中用于设置BigDecimal对象的小数点后保留的位数。
setScale方法接收两个参数,第一个参数表示小数点后保留的位数,第二个参数表示采用的舍入模式。
RoundingMode.HALF_UP是Java中一种舍入模式,它表示四舍五入。如果舍弃位的数值大于或等于5,则将舍入位增加1,否则舍去。*/
bd = bd.setScale(3, RoundingMode.HALF_UP);
bd = bd.setScale(2, RoundingMode.HALF_UP);
System.out.printf("%.2f%n",bd.doubleValue());
//方法二:
/*DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(bd.doubleValue()));*/
}
}
}
你能输出它吗
题目描述
有一串奇异的符号,请编程输出。
输入格式
无
输出格式
输出!@#$~%^&*()_+|=-“”:
输入样例
无
输出样例
!@#$~%^&*()_+|=-“”:
public class p18 {
public static void main(String[] args) {
System.out.println("!@#$~%^&*()_+|\\=-\"\":");
}
}
十六进制转十进制
题目描述
输入一个十六进制数,输出相应的十进制数。
十六进制的基数是0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f。
输入格式
输入有若干行,每行表示一个十六进制的数。
输出格式
输出每个十六进制数对应的十进制数。
输入样例
a1
1a
110
输出样例
161
26
272
public class p19 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()){
String s = sc.nextLine();
int decimal = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
int digit = Character.digit(c,16);
decimal = 16 * decimal +digit;
}
System.out.println(decimal);
}
}
}