1590 - 三角形相加
时间限制 : 1 秒
内存限制 : 32 MB
写一个CTriangle 类,要求可以接受CTriangle(y,x)形式的构造。表示含义如下:
A(0,y) B(0,0) C(x,0)。
要求能够处理若干个三角形的相加(点B保持不变,两直角边相加)。
题目输入
输入有若干行,每行两个数y,x,读到0表示结束。
题目输出
输出一行表示三点坐标,格式参见样例。
输入/输出样例
输入格式
10 20 1 31 0
输出格式
A(0,11),B(0,0),C(51,0)
C语言解答
#include<stdio.h> int main() { int a[100],b[100],i=1,j,num=1,ra=0,rb=0,ta=0,tb=0; while(num!=0) { scanf("%d",&num); j=i%2; if(j!=0) { a[ra]=num; ra++; } else { b[rb]=num; rb++; } i++; } for(i=0;i<ra;i++) { ta=ta+a[i]; } for(i=0;i<rb;i++) { tb=tb+b[i]; } printf("A(0,%d),B(0,0),C(%d,0)\n",ta,tb); return 0; }
C++解答
#include <cstdio> #include <cstring> int f[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int main() { //freopen("test.in", "r", stdin); //freopen("test.out", "w", stdout); int x, y; int a = 0, b = 0; while (scanf("%d %d", &x, &y)) { if (0 == x) break; a += x; b += y; } printf("A(0,%d),B(0,0),C(%d,0)\n", a, b); return 0; }
Java解答
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ArrayList<Integer> x=new ArrayList<Integer>(); ArrayList<Integer> y=new ArrayList<Integer>(); while (sc.hasNextLine()) { String s=sc.nextLine(); String p[]=s.split(" +"); if(p[0].equals("0")) break; x.add(Integer.parseInt(p[0])); y.add(Integer.parseInt(p[1])); } System.out.println("A(0,"+Addall(x)+")"+",B(0,0)"+",C("+Addall(y)+",0)"); } static int Addall(ArrayList<Integer> t){ int sum=0; for(int i:t) sum+=i; return sum; } }