1590 - 三角形相加
写一个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; }