第 32课 循环控制语句
3192:【例32.1】 学游泳
C语言代码:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
double ans,num=2.0,sum=2;
scanf("%lf",&ans);
int i;
for(i=1;;i++)
{
if( sum>=ans )
{
printf("%d\n",i);
return 0;
}
else
{
num*=0.98;
sum+=num;
}
}
return 0;
}
C++程序:
#include<bits/stdc++.h>
using namespace std;
int main()
{
double ans,num=2.0,sum=2;
cin>>ans;
for(int i=1;;i++)
{
if( sum>=ans )
{
cout<<i<<endl;
return 0;
}
else
{
num*=0.98;
sum+=num;
}
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
double n,sum,sum1=2;
int ans;
int main(){
cin>>n;
while(sum<n){
ans++;
sum+=sum1;
sum1=sum1/100*98;
}
cout<<ans;
return 0;
}
#include <iostream>
using namespace std;
int main() {
double n, sum, temp = 2.0; //声明变量n存储目标距离,sum存储单位时间,temp存储每次游的距离
cin >> n; //读取目标距离
while (n > 0) { //使用循环计算单位时间
n -= temp; //目标距离减去每次游的距离
temp *= 0.98; //每次游的距离递减
sum++; //单位时间加1
}
cout << sum; //输出单位时间
return 0;
}
《信息学奥赛一本通 编程启蒙C++版》3221-3225(5题)
《信息学奥赛一本通 编程启蒙C++版》3226-3230(5题)
《信息学奥赛一本通 编程启蒙C++版》3231-3235(5题)
《信息学奥赛一本通 编程启蒙C++版》3236-3240(5题)
《信息学奥赛一本通 编程启蒙C++版》3241-3245(5题)