刷题DAY36
三角形
题目:给定三条边,先判断一下能不能组成一个三角形。对于能构成三角形的,求其面积
输入:输入数据分多组,每组占一行,每行输入三边边长,以空格隔开。输入以EOF结束
输出:对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出三角形面积,结果保留三位小数,否则输出impossible。
输入:
1 2 3 2 2 2
输出:
impossible 1.732
import java.lang.Math; class Triangle { double a; double b; double c; void init(double a, double b, double c) { this.a = a; this.b = b; this.c = c; } boolean isTriangle() { double temp = a > b ? a : b; temp = temp > c ? temp : c; if (a + b + c > 2 * temp) { return true; } return false; } double area() { double l = (a + b + c) / 2; l = l * (l - a) * (l - b) * (l - c); return Math.sqrt(l); } } public class Triangle_class { public static void main(String[] args) { Triangle t1 = new Triangle(); Triangle t2 = new Triangle(); t1.init(3, 4, 5); t2.init(3, 4, 7); System.out.println("Triangle1 is " + t1.isTriangle()); if (t1.isTriangle()){ System.out.println("Triangle1 is a triangle,and its area is " + t1.area()); } else{ System.out.println("Triangle2 isn't a triangle"); } if (t2.isTriangle()){ System.out.println("Triangle1 is a triangle,and its area is " + t2.area()); } else{ System.out.println("Triangle2 isn't a triangle"); } } }
数日子
题目:光阴似箭,日月如梭,大学的时间真是宝贵,要抓紧时间AC^_^,你知道今天是这一年第几天吗,掐指一算还是要算好久,呵呵还是让计算机来做吧。这里的问题就是让你来写一个程序,输入某年某月某日,判断这一天是这一年的第几天?
输入:输入数据有多组,第一行是数据的组数n,下面n行是n组数据,每组数据由3个正整数组成,分别为年、月、日,我们保证每组数据都是有效的日期。
输出:输出所输入的日期是这一年的第几天。
输入:2 2009 1 1 2008 1 3
输出:
1 3
package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * 题目:输入某年某月某日,判断这一天是这一年的第几天? */ public class NaYiTian { public static void main(String[] args){ BufferedReader bf=new BufferedReader(new InputStreamReader(System.in)); try { //录入键盘的数据 String str=bf.readLine(); //分割年月日 String[] strArr=str.split("-"); int year=Integer.parseInt(strArr[0]); int month=Integer.parseInt(strArr[1]); int towMonth=28; //判断平年还是闰年 if((year%4==0&&year%100!=0)||(year%400==0)){ towMonth=29;//闰年多一天 } int totalDay=0; int[] months={31,towMonth,31,30,31,30,31,31,30,31,30,31}; //前几个月加上本月的天数 for(int i=0;i<months.length;i++){ if(month>=i+1){ if(month==i+1){ totalDay+=Integer.parseInt(strArr[2]); break; }else{ totalDay+=months[i]; } } } //输出结果 System.out.println(totalDay); } catch (IOException e) { e.printStackTrace(); } } }