c语言的一个问题,帮忙看看我的代码哪里错了
题目是要在那下面的图片里的长方形的中间里装路由器,并且两台无线路由器之间的最小距离不能低于1米。长方形形状的,并且宿舍过道的宽度都相同以及无线路由器可以覆盖的范围都相同长...
题目是要在那下面的图片里的长方形的中间里装路由器,并且两台无线路由器之间的最小距离不能低于1米。长方形形状的,并且宿舍过道的宽度都相同以及无线路由器可以覆盖的范围都相同长度N、宽度M以及无线路由器的覆盖半径R。输入要求输入数据有多组。首先输入一个整数T (1 <= T <= 100),表示这组数据的数据量。 接下来共有T行测试数据,每行包括三个整数N,M,R (1 <= N <= 100000),(1 <= M <= 50),(1 <= R <= 200)N代表过道的长度,M代表过道的宽度,R代表无线路由器的覆盖半径。 输出要求每行测试数据输出一行包含一个整数A,A为最少购买无线路由器的数量,若不能覆盖,则输出"Are you kidding me?"示例输入240 6 540 10 5示例输出5Are you kidding me?求大神帮忙看看哪里错了
我的代码
#include<stdio.h>
#include<math.h>
int main(){
int T;
int M,N,R,A,a,b,c,d,e;
while(scanf("%d",&T) != EOF){
while(T){
scanf("%d %d %d",&N,&M,&R);
d = M / 2;
c = (sqrt((R * R) - (d * d)));
e = (double)c;
a = N / e;
if(R <= d){
if(a == 0){
A = a;
}else if(a != 0){
A = a + 1;
}
}
else{
printf("Are you kidding me?\n");
}
printf("%d\n",A);
T--;
}
}
return 0;
} 展开
我的代码
#include<stdio.h>
#include<math.h>
int main(){
int T;
int M,N,R,A,a,b,c,d,e;
while(scanf("%d",&T) != EOF){
while(T){
scanf("%d %d %d",&N,&M,&R);
d = M / 2;
c = (sqrt((R * R) - (d * d)));
e = (double)c;
a = N / e;
if(R <= d){
if(a == 0){
A = a;
}else if(a != 0){
A = a + 1;
}
}
else{
printf("Are you kidding me?\n");
}
printf("%d\n",A);
T--;
}
}
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询