目标:
编写一个函数,计算需要把纸折叠多少次(假设纸张足够大,可以无限次折叠),其厚度才能搭建一座登月纸桥,考虑到将来需要到更远的星球,所以函数需要根据具体距离计算纸张折叠的次数并返回。
已知:月球离地球最近距离(近地点)为363300千米,最远距离(远地点)为405500千米,一张纸的厚度一般为0.088到0.114毫米。
函数的定义
<返回值类型> <函数名>(<参数列表>)
<函数体>
标题
#include<stdio.h>
// foldTimes-计算建纸桥的折叠次数
// 参数:dis-星际距离(千米),thick-纸的厚度(毫米)
// 返回值:建桥需要折叠的次数
int foldTimes(double dis,double thick);
int main()
{
double dis, thick;
scanf("%lf %lf",&dis,&thick);
printf("需要折叠 %d 次",foldTimes(dis,thick));
return 0;
}
int foldTimes(double dis, double thick)
{
int sum = 0; //定义一个变量
dis=dis*1000000; //把km单位换成mm单位
while(thick < dis) //星际距离>纸的厚度
{
thick=thick*2; //折叠
sum++; //折叠次数
}
return sum;
}
运行结果为:
363300 0.088
需要折叠42次