循环控制~救援

题目描述:

输入:

第一行,一个整数,表示屋顶数n。
接下来依次有n 行输入,每一行上包含两个表示屋顶相对于大本营的平面坐标位置的实数(单位是米)、一个表示人数的整数,数之间以一个空格分
开。

输出:

一行,救援需要的总时间,精确到分钟 (向上取整)。

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main(){
 4     int n;              //有几个屋顶
 5     scanf("%d",&n);
 6     double a,b;            //屋顶的坐标
 7     //d[100]warning??,应输入一个语句
 8     // int d[100];
 9     int m;              //一个屋顶上的人数
10     //int c[100];          //勾股定理求得的营地与屋顶的直线距离
11     double c;
12     double min;
13     //int sum=0;
14     for(int i=1;i<=n;i++){
15         scanf("%lf %lf %d",&a,&b,&m);
16         //d[i]=a*a+b*b;
17         c=sqrt(a*a+b*b);
18         min=min+c/50.0*2+m+m*0.5;
19         //利用函数向上取整
20         
21         //sum=min;
22         // printf("%d",sum);
23         // printf("%lf",min);
24         // if(min-sum>0){
25         //     min=min+1;
26         // }
27         // printf("%.0lf",min);
28        
29 
30     }
31     min=ceil(min);
32     printf("%.0lf\n",min);
33     return 0;
34 }

solution:

1 题意理解错误:以为要分别输出每个屋顶的救援时间但其实只用输出救援的总时间

2 向上取整函数:ceil(double);

3 求平方根的函数sqrt();      ---都要引入头文件<math.h>

4 变量的类型:

  因为最后涉及到向上取整,说明不是整型,对应的涉及到的变量就应该用double型

5 不需要用到一维数组来存储中间的数;

posted on 2022-10-17 20:26  罗小罗佳油  阅读(24)  评论(0编辑  收藏  举报