学校进行长跑训练,规定学生第一天训练300米,第二天训练337.5米,第三天训练379.688米,......,后一天训练长度是前一天的 1+1/8倍,输入一个正整数x,判断学生第几天训练的长度开始超过x米?
注意:
在编程中 1/8 要写为1.0/8
输入格式:
输入一个正整数 x
输出格式:
第k天,k为训练的长度刚开始超过x米的天数
输入样例:
10000
输出样例:
第31天
#include <stdio.h>
int main()
{
int x;
int i = 1;
float k = 300;
float sum = 300;
scanf("%d",&x);
for(i=1;k<x;i++)
{
k = k*(1+1.0/8);
}
printf("%d",i);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-04-07
#include <stdio.h>
void main()
{
int i,x;
float s=300;
scanf("%d",&x);
for(i=2;s<x;i++)
s *= 9.0 / 8;
printf("第%d天\n",i-1);
}
第2个回答 2020-04-15
#include <stdio.h>
int main() {
int i = 1, x;
float s = 300;
scanf("%d", &x);
while(s < x) {
s = s*(1+1.0/8);
i = i+1;
}
printf("第%d天\n", i);
return 0;
}
int main() {
int i = 1, x;
float s = 300;
scanf("%d", &x);
while(s < x) {
s = s*(1+1.0/8);
i = i+1;
}
printf("第%d天\n", i);
return 0;
}