1590 - 三角形相加

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

写一个CTriangle 类,要求可以接受CTriangle(y,x)形式的构造表示含义如下:

A(0,y) B(0,0) C(x,0)

要求能够处理若干个三角形的相加(点B保持不变,两直角边相加)。

题目输入

输入有若干行,每行两个数yx,读到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;
	}
}