HFUTOJ problem 1354实现总结

来源:互联网 发布:工行网络金融营销 编辑:程序博客网 时间:2024/06/01 20:28

题目

Description

小明非常喜爱物理,有一天,他对物理实验室中常用的弹簧拉力计产生了兴趣。实验室中有两种质量不同的砝码,小明分别用a个第一种砝码放在弹簧拉力计上和b个第二种砝码放在弹簧拉力计上,假设每增加单位重量的砝码,弹簧拉力计的长度增加1,那么两次称量弹簧拉力计的长度差是多少呢?(假设拉力计不发生非弹性形变)

Input

第一行一个整数T,表示有T组数据。
之后T行,每行数据包含四个正整数,分别表示第一种砝码重量a,第一种砝码数量b,第二种砝码重量c,第二种砝码数量d。
T<25
0 < a,b,c,d<=100

Output

对于每组数据,输出一个正整数,表示弹簧拉力计的长度差值。

Sample Input

3
1 2 3 4
1 4 2 2
1 3 2 1

Sample Output

10
0
1

总结

本题作为安徽省2016程序设计竞赛的第一题,可以说是个送分题,完全不需要任何思考,读完题就能得到答案,附上代码

#include <iostream>#include <cmath>using namespace std;int main (void){    int TestTime = 0, Times = 0;    cin >> TestTime;    while (Times++ < TestTime){        int a = 0, b = 0, c = 0, d = 0;        cin >> a >> b >> c >> d;        cout << abs((a*b) - (c*d)) << endl;    }}

输入两句,计算和输出共用一句。这里有个坑,计算a*b-c*d的值(或者反过来)可能是个负数,直接输出不符合题目要求,所以输出前要验证结果。这里我直接使用cmath中的abs(),获取一个数的绝对值。尽管对题目并没有什么影响,但是可以缩短代码,更加简洁。

0 0