计算矩形面积,输出结果最多保留三位小数(计算矩形的面积和周长ja

http://www.itjxue.com  2023-03-24 16:04  来源:未知  点击次数: 

c语言新手求助 关于一个给定3点坐标的矩形 求面积跟第四点坐标的问题

void d (double x1,double y1,double.....){

double b1,b2,b3;

b1 = sqrt((x1-x2)* (x1-x2) + (y1-y2)* (y1-y2));

b2 =... 2 和3的边

b3=... 1 3 //三边长度

if(b1*b1+b2*b2==b3*b3){ printf("f%", b1*b2 ); printf("\n"); printf("%f,%f",x1+x3-x2,y1+y3-y2); }

else if(b2*b2+b3*b3 ==b1*b1){ printf("f%", b3*b2 ); printf("\n"); printf("%f,%f",x1+x2-x3,y1+y2-y3);

}

...

//这三句判断哪两个是直角边 并输出面积 然后根据对角点与中心点的关系得到求的点的坐标

}//不好意思 我省略了一些. 既然是新手应该能补上

java做一个计算长方形面积的小程序,怎么限定小数点只能输入一个?怎么限定只能输入数字?运算得出的

import?java.util.Scanner;

import?java.text.DecimalFormat;

public?class?Rectangle?{

public?static?void?main(String[]?args)?{

String?str;

Double?width,?length,?area;

//?判断小数条件的正则表达式

String?regEx?=?"^([1-9][0-9]*)+(.[0-9]{1,1})?$";?

?

Scanner?s?=?new?Scanner(System.in);

System.out.println("请输入长:");

str?=?s.nextLine();

while(true)?{

????????

????//?若输入的长度不符合要求,重新输入。

if?(!str.matches(regEx))?{

System.out.println("输入格式错误,请重新输入。");

str?=?s.nextLine();

}?else?{

length?=?Double.parseDouble(str);

break;

}

}

System.out.println("请输入宽:");

str?=?s.nextLine();

while(true)?{

if?(!str.matches(regEx))?{

System.out.println("输入格式错误,请重新输入。");

str?=?s.nextLine();

}?else?{

width?=?Double.parseDouble(str);

break;

}

}

area?=?width?*?length;

//?定义输出小数的格式为保留小数点后三位

DecimalFormat?df?=?new?DecimalFormat("###.000");

System.out.println("面积为:"?+?df.format(area));

}

}

运行结果如下

计算不规则图形的面积时 遇到要保留几位小数该怎么办?

计算不规则图形的面积,一般采用分割成几块分别求面积,最后再加在一起。如果要求保留小数,中间计算要比要求的小数位多一位,最后求和时再按要求保留位数。例如最后结果要求保留两位小数,那么中间每块面积留三位小数。

求C++题或代码

9、大数的乘法

Time Limit:1000MS Memory Limit:32768KDescription:给出一些整数对,一个为可能接近100位的大数,另一个为1位数,求这些数对的乘积。 Sample Input:1 1123 012345678910 8123456789101234567891012345678910 7Sample Output:1098765431280864197523708641975237086419752370 十、按长度排序

Time Limit:1000MS Memory Limit:32768KDescription:是一些整数,它的结构是:第一行为一个整数N,表示后面有N个整数需要排序输出,先按长度排,如长度一样则按大小排,若遇到N等于零,则运行结束。 Sample Input:31231233332100000000000000010Sample Output:121233333 11000000000000000 十一、排列学生成绩

Time Limit:1000MS Memory Limit:32768KDescription:一些向量数据,表示许多学生的各门成绩。编程,从中挑出平均分数在60分以上的学生进行排序输出。 Sample Input:Zhangsan 90 85 77 25 63Lisi 58 73 66 85 90Wangwu 70 80 90 51 52Qianliu 80 63 58 52 50Chenqi 90 28 38 48 58Zhouba 40 70 70 33 55Sample Output:1 Lisi2 Wangwu3 Zhangsan 12、十二、倒置排序

Time Limit:1000MS Memory Limit:32768KDescription:将一些整数按倒置值排序后输出. 所谓倒置,是指把整数各位倒过来构成一个新数,例如:13倒置成了31. Input:第一行的整数N表示后面列出的组数。每组数的第一个整数n表示后面将有n个整数。(每组数据量不超80) Output:将每组数按倒置值进行排序输出.其每组数的结果占一行.行末无空格. Sample Input:24 83 13 24 364 99 100 123 12345Sample Output:13 83 24 36100 99 123 12345 十三、绩点计算

Time Limit:1000MS Memory Limit:32768KDescription:有一些班级学生的三门课程成绩,编程计算其绩点,并按绩点分数的高低排列。绩点计算公式为:(成绩小于60分,则该门课程的绩点为0) [(课程1 – 50)÷10×3 +(课程2 – 50)÷10×3 +(课程3 – 50)÷10×4]÷10 Sample Input:张三 89 62 71李四 98 50 80王五 67 88 91Sample Output:王五 67 88 91李四 98 50 80张三 89 62 71 十四、按日期排序

Time Limit:1000MS Memory Limit:32768KDescription:有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。 Sample Input:12/31/200510/21/200302/12/200415/12/199910/22/200311/30/2005Sample Output:15/12/199910/21/200310/22/200302/12/200411/30/200512/31/2005 十五、按1的个数排序

Time Limit:1000MS Memory Limit:32768KDescription:有一些01字串,将其按1的个数的多少的顺序进行输出。 Sample Input:10011111000011011010101101100Sample Output:01110000001101101010110011111 十六、注释

Time Limit:1000MS Memory Limit:32768KDescription:给出一个C++源程序代码。请将其中的注释去掉。 Sample Input://====================== // simplest program //======================#includeiostreamusing namespace std;//----------------------int main(){cout”hello world!\n”;}//--------------------- Sample Output:#includeiostreamusing namespace std;int main(){cout”hello world!\n”;} 十七、最短距离的点

Time Limit:1000MS Memory Limit:32768KDescription:给出一些整数对,它们表示一些平面上的坐标点,给定一个点,求所有那些点到该点最短距离的点。结构为:第一个整数对为所给定的点,后面的整数对为所有其他的点。 Sample Input:9 21 01 10 01 22 1Sample Output:2 1 十八、最短距离的两点

Time Limit:1000MS Memory Limit:32768KDescription:给出一些整数对,它们表示平面上的点,求所有这些点中距离最近的两个点。结构为:每组数据的第一行只有一个整数N,表示后面有N个点。求这些点中的两点,以表明该两点是所有点中距离最短的。若N为0,则表示输入结束。 Sample Input:41 20 03 67 231 33 10 00Sample Output:(1,2) (0,0)(1,3) (3,1) 十九、到直线的最长距离

Time Limit:1000MS Memory Limit:32768KDescription:给定一根直线,给出一些坐标点,求这些坐标点到直线的最大距离。第一行有两个整数对,表示直线的两点,后面有一些整数对,那是给出的坐标点。结果保留三位小数。 Sample Input:1 2 3 43 810 107 2900 1Sample Output:636.396 二十、计算矩形面积

Time Limit:1000MS Memory Limit:32768KDescription:两个坐标点能确定一个矩形,请按矩形的面积大小进行排序输出。每一行给出两个坐标点,表示一个矩形。请按要求输出面积。 Sample Input:1 2 3 41 0 2 32 1 3 12 8 7 1Sample Output:03435注:ACM比赛非常注重输出格式。若输出格式错误则全题不能得分。 以下几个题训练基本输出语句的使用。二十一、粘墙“三角形”

Time Limit:1000MS Memory Limit:32768KDescription:输入一些正整数(≤26),编程输出以这些正整数为边长的附着墙而立的字母三角形。 Sample Input:37Sample Output:a aa abaabc a aa aba abca abcda abcdea abcdefaabcdefg 二十二、山形图

Time Limit:1000MS Memory Limit:32768KDescription:输入中含有若干组数据,每组数都包含一个字符c和一个正整数n(n≤50),表示边长为n图案为c的山形字符图。一个紧挨一个地打印所有这些山形字符图。 Sample Input:A 3M 9Sample Output: A AAAAAAAA M MMM MMMMM MMMMMMM MMMMMMMMM MMMMMMMMMMM MMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 二十三、织花纹布

Time Limit:1000MS Memory Limit:32768KDescription:输入中含有若干组数据,每组数据由四部分组成,第一个是花纹字符,后面三个是整数,分别表示宽度(80的奇数),高度(≤40)和重复度(≤20)。请编程画出该花纹。 Sample Input:W 9 17 1E 15 6 2Sample Output:WWWWWWWWW W W W W W WWWWWWWWW W W W W W WWWWWWWWW W W W W W WWWWWWWWW W W W W W WWWWWWWWW W W W W W WWWWWWWWW W W W W W WWWWWWWWW W W W W W WWWWWWWWW W W W W WWWWWWWWWW EEEEEEEEEEEEEEE E E E E E E E E EEEEEEEEEEEEEEE E E E E E E E E EEEEEEEEEEEEEEEE E E E E E E E EEEEEEEEEEEEEEE E E E E E E E E EEEEEEEEEEEEEEE E E E E E E E EEEEEEEEEEEEEEEE 二十四、倚直线画圈

Time Limit:1000MS Memory Limit:32768KDescription:鲁迅先生笔下的阿Q连圈都画不好,现在我们借助编程手段,可以对准直线自动地按要求画圈,不亦乐乎?文本字符的圈虽然看上去有些粗糙,不过没有关系,只要是上下左右对称,粗细均匀,而且封闭就行。 Input:圈的内部总是一个正方形,外部包围着一定粗细的线条,角部不用画出来。给定的数据,每行为一组,包括用的字符笔,笔的粗细和圈内正方形的高度。如果输入数据中笔粗和高度都为0,则结束处理。 Output:每个圈应倚着边上一直线,直线字符为B,每个圈之间有一个空行,第一个圈前面无空行。 Sample Input:A 1 3F 3 5A 0 0 Sample Output:B AAABA ABA ABA AB AAA B FFFFFB FFFFFB FFFFFBFFF FFFBFFF FFFBFFF FFFBFFF FFFBFFF FFFB FFFFFB FFFFFB FFFFF 二十五、支票保护

Time Limit:1000MS Memory Limit:32768KDescription:计算机经常用于工资和帐号支付应用等支票写入系统。许多怪事常常出现。如每月工资支票上错误的多写一百万美元。由于人和机器的错误,使支票写入系统写出不正常数值。系统设计人员在系统中建立控制,防止发生出这种错误支票。另一个严重的问题是有些人故意改变支票金额,想窃取钱财。要防止改变支票金额,大多数支票写入系统采用支票保护(Check Protection)技术。一个常用的安全方法是写出支票金额的大写,即使支票的数字好改,大写金额也难篡改。编写一个程序,输入数字金额,输出大写金额。如112.43写成ONE HUNDRED TWELVE Dollars and 43/100。 Input:输入数据有若干,数据范围在0.00到999.99。 Output:对于每个数据输出其大写的英语表示。如12.45写成TWELVE Dollars and 45/100。如果是整数部分是零或一美元,则Dollar不加s。如果没有角分,则角分不用输出。 Sample Input:0.453456.89Sample Output:ZERO Dollar and 45/100THIRTY FOUR DollarsFIFTY SIX Dollars and 89/100 二十六、单词统计

Time Limit:1000MS Memory Limit:32768KDescription:你需要设计一个程序,将一篇文章中的所有单词分组并统计。

一篇文章是一连串的单词,每个单词占一行。当且仅当w中的字符通过某种重排列与v相同时,单词w和单词v属于同一个组。找出个数最多的5个组。

Input

输入包含许多由小写字母构成的单词,每行一个。

以EOF终止。

Output

输出个数最多的5组单词。如果少于5组,则把它们全部输出。

组与组之间,按单词数递减排序,若单词数相等,比较组内字典序最小的单词,字典序小的在先。

对每组,先输出组内单词数,再按字典序递增依次输出各单词,相同单词只输出一次。 Sample Input:undisplayedtraceteasingletonetaeatdisplayedcratecatercartecaretbetabeatbateateabetcaretcaretcaretSample Output:Group of size 8: caret carte cater crate trace .Group of size 4: abet bate beat beta .Group of size 4: ate eat eta tea .Group of size 1: displayed .Group of size 1: singleton . 二十七、统计天数

Time Limit:1000MS Memory Limit:32768KDescription:根据一些日期,以及日期上所做的标记,按条件统计其天数。 Input:输入数据含有不多于50个的具有格式“Mon. DD YYYY”的日期,有些日期后面可能标有*,每个日期占一行。 Output:统计任何月份中凡是25号的日期数,如果25号这一天后面标有*,则该天应加倍计算。 Sample Input:Oct. 25 2003Oct. 26 2003Sep. 12 2003*Juy. 25 2002*Sample Output:3Source:qianneng 二十八、艰辛的突围

Time Limit:1000MS Memory Limit:32768KDescription:在一场战役中,一队我方的士兵落入了敌人的包围圈,他们决定冒死突围出去,在突围的任意时刻,总会有一个士兵冲在最前面,引导着队伍前进。在突围的过程中,他们肯定要不断受到敌方的攻击,尤其冲在最前面的士兵受到的伤害最大。我们以一分钟为单位,最开始每个士兵都有相同的能量值E,突围路线的总长度D。士兵每分钟受到的伤害跟队伍的突围速度有关。假定队伍在某一分钟内突围的速度为v,那么冲在最前面的士兵在这一分钟里受到的总伤害为v2,而其他士兵受到的总伤害均为v。而且我们可以在每分钟开始的时候瞬时替换掉冲在最前面的士兵,让另一个士兵冲上去,其它的中间时刻是不允许调换的。 对于特定的某一分钟里,队伍的突围速度是稳定的,由此时冲在最前面的士兵决定,他可以任意选择一个速度v前进,但是要保证自己在这一分钟开始的时候剩余的能量e=v2。现要你安排一种最优的调度方案,使得队伍突围出去的时间最少,当然在这个过程中可能会有些士兵会死掉,也许全部死掉。 Input:包含多组测试数据。每组测试数据包含三个整数N、E、D。分别表示士兵的个数、每个士兵初始的能量值和突围路线的总长度。 1=N=20,1=E=100,1=D=100。 Output:针对每组测试数据,输出最短需要多少时间才能突围出去,如果所需的最小时间是个浮点数,则向上取整。万一突围不出去,就直接输出0. Sample Input:2 17 7Sample Output:2 二十九、大整数加法

Time Limit:1000MS Memory Limit:32768KDescription:给定一些大数,请计算其和。 Input:输入数据中含有一些数据组(数量≤100),每组数据由一个整数n(n≤100)领衔,后跟n个大整数(0≤大数,大数位数≤200),若n=0则表示输入结束。 Output:输出每组数据所计算的大数和,每个结果单独占一行。 Sample Input:5123456789628799998056456456546545790Sample Output:5652057111507 三十、大整数乘法

Time Limit:5000MS Memory Limit:32768KDescription:给定一些大数,请计算其积。 Input:输入数据中含有一些整数对(对数≤1000),若某对整数(整数位数≤200)的值为0 0,则表示输入结束。 Output:每对整数对应一个乘法计算结果,输出该结果,每个结果输出完后应回车。 Sample Input:2 312 340 0Sample Output:6408 三十一、(1998年北美区ACM选拔赛试题)DNA SortingTime Limit:1000MS Memory Limit:32768KProblem: DNA排序 在一个序列中,“没排序”的一个尺度是无序对的总数。例如,在字母序列“DAABEC”中,“没排序”的尺度是5,因为D比它右边的4个字母大,而E比它右边的1个字母大。这个尺度被称为序列的倒位数量。序列“AACEDGG”只有一个倒位(E和D)――即它几乎是有序的――然而,序列“ZWQM”则有6个倒位(其序正好完全相反)。 你负责编排DNA字符串的序列(系列中只包含A,C,G和T四个字符)。然而,不是根据字母表顺序来编排,而是根据“没排序”程度即倒位数量来编排,从“排序最好”到“排序最不好”的顺序来编排。所有的字符串长度相同。问题包含多个测试案例! 多个测试案例前是一个正整数N,然后是一行空行,接下去是N个输入块。每个输入块的格式在问题中描述了。输入块之间用空行隔开。 2、输入描述 每个输入块的第一行包含两个整数:正整数n (0 n = 50),表示字符串的长度;另一个正整数m (1 m = 100),表示字符串的数目。下面就是m行,每行是一个长为n的字符串。 3、输出描述 输出输入数据中的字符串,按从“排序最好”到“排序最不好”的顺序排列。如果两个字符串的倒位数量相同,那么按它们在输入文件中的先后顺序输出。 4、输入样例 1 10 6AACATGAAGGTTTTGGCCAATTTGGCCAAAGATCAGATTTCCCGGGGGGAATCGATGCAT 5、输出样例 CCCGGGGGGAAACATGAAGGGATCAGATTTATCGATGCATTTTTGGCCAATTTGGCCAAA

java编写一个窗体程序,实现计算矩形的面积,当用户分别在长和宽编辑框里输入数值

加点分,我帮你

算了,我给你写吧

放Ubuntu past了,有效期是1年:

网页链接

import?java.awt.EventQueue;

import?java.awt.event.ActionEvent;

import?java.awt.event.ActionListener;

import?javax.swing.JFrame;

import?javax.swing.JLabel;

import?javax.swing.JTextField;

import?javax.swing.JButton;

public?class?Square?{

private?JFrame?frame;

private?JTextField?textField;

private?JTextField?textField_1;

private?JTextField?textField_2;

public?static?void?main(String[]?args)?{

EventQueue.invokeLater(new?Runnable()?{

public?void?run()?{

try?{

Square?window?=?new?Square();

window.frame.setVisible(true);

}?catch?(Exception?e)?{

e.printStackTrace();

}

}

});

}

/**

*?Create?the?application.

*/

public?Square()?{

initialize();

}

/**

*?Initialize?the?contents?of?the?frame.

*/

private?void?initialize()?{

frame?=?new?JFrame();

frame.setBounds(100,?100,?235,?315);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(null);

frame.setResizable(false);

JLabel?label?=?new?JLabel("长:");

label.setBounds(27,?31,?27,?41);

frame.getContentPane().add(label);

textField?=?new?JTextField();

textField.setBounds(88,?39,?86,?24);

frame.getContentPane().add(textField);

textField.setColumns(10);

JLabel?label_1?=?new?JLabel("宽:");

label_1.setBounds(27,?85,?27,?41);

frame.getContentPane().add(label_1);

textField_1?=?new?JTextField();

textField_1.setBounds(88,?93,?86,?24);

frame.getContentPane().add(textField_1);

textField_1.setColumns(10);

JLabel?label_2?=?new?JLabel("面积:");

label_2.setBounds(27,?154,?43,?18);

frame.getContentPane().add(label_2);

textField_2?=?new?JTextField();

textField_2.setColumns(10);

textField_2.setBounds(88,?151,?86,?24);

frame.getContentPane().add(textField_2);

JButton?button?=?new?JButton("计算");

button.setBounds(46,?213,?113,?27);

frame.getContentPane().add(button);

button.addActionListener(new?ActionListener()?{

@Override

public?void?actionPerformed(ActionEvent?e)?{

try?{

Double?d1?=?Double.valueOf(textField.getText());

Double?d2?=?Double.valueOf(textField_1.getText());

Double?d3?=?(int)?(d1?*?d2?*?1000?+?0.5)?/?1000.0;

textField_2.setText(d3.toString());

}?catch?(Exception?e2)?{

//?TODO:?handle?exception

textField_2.setText("请输入数字!");

}

}

});

}

}

(责任编辑:IT教学网)

更多

推荐广告特效文章