一道C语言编程题!!!!求解!!!急!!!谢谢大佬!!!

学校进行长跑训练,规定学生第一天训练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;
}
相似回答