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
1 2 3 4
1 4 2 2
1 3 2 1
Sample Output
10
0
1
0
1
-----------------------------------------------------------------------------------------------------------------
C语言:
第一遍看题目是想到用个for循环再用个条件运算就能解决
#include<stdio.h>
int main ()
{
int i,j,k,T;
int a, b, c, d;
scanf("%d",&T);
for(i=0;i<T;i++)
{
scanf("%d %d %d %d",&a, &b, &c, &d);
(a*b-c*d)?printf("%d",a*b-c*d):printf("%d",-(a*b-c*d)); //对于输出格式进行过各种改动(在这里不去重复声明)始终无法得到正确的输出格式
}
return 0;
}
之前没有想到使用一个绝对值函数
------------------------------------------------
最后经过一点小讨论想到可以把得到的值放在一个数值中再用数组输出
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c,d,str[25],t,i;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d %d %d %d",&a, &b, &c, &d);
str[i]=abs(a*b-c*d);//使用绝对值函数
}
for(i=0;i<t;i++)
printf("%d\n",str[i]);
return 0;
}
#include<math.h>
int main()
{
int a,b,c,d,str[25],t,i;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d %d %d %d",&a, &b, &c, &d);
str[i]=abs(a*b-c*d);//使用绝对值函数
}
for(i=0;i<t;i++)
printf("%d\n",str[i]);
return 0;
}