点赞(0)
 

0.0分

116 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 69 条评论

12345 2年前 回复TA
感觉这种解法属于本末倒置了,本来写代码就是为了简化计算,现在为了简化代码而自己算出求和的结果,这都增加了自己的计算量,那这个代码写了也没有什么意义了。而且这个简化代码也看出有什么简化。
小诗爷 2年前 回复TA
#include<stdio.h>
int main()
{
	int i;
	float S=0,n,h;
	scanf("%f%f",&h,&n);
	for(i=1;i<=n;i++)
	{
		S=S+1.5*h;
		h=h*0.5;
	}
	S=S-h;
	printf("%.2f %.2f",h,S);
	return 0;
}
amazarashi 2年前 回复TA
@amazarashi #include <stdio.h> int main(void) {      int m,n,i;     scanf("%d %d",&m,&n);     float sum=0,h=m;     for(i=0;i<n;i++) {         h = h / 2.0;         sum+=2*h;     }         sum=sum-2*h+m;         printf("%.2f", h);         printf(" ");         printf("%.2f
",sum);     return 0;  }
amazarashi 2年前 回复TA
@amazarashi 脑子抽了,不是加1000。
amazarashi 2年前 回复TA
#include <stdio.h>
int main(void)
{

    int m,n,i;
    scanf("%d %d",&m,&n);
    float sum=0,h=m;
    for(i=0;i<n;i++) {
        h = h / 2.0;
        sum+=2*h;
    }
        sum=sum-2*h+1000;
        printf("%.2f", h);
        printf(" ");
        printf("%.2f\n",sum);
    return 0;

}
求大佬解释,哪里错了。
1021王俊峰 2年前 回复TA
#include<stdio.h>
#include<math.h>
int main()
	   {
	   	int m,n;
	   	scanf("%d%d",&m,&n);
	   	float high=0;
	   	float len=0;
	   	int i;
	   	for(i=1;i<=n;i++)
	   	{
	   	
	   	 high= pow(0.5,i);
	   	 len+=(high*2*m);
	   }
	   	printf("%.2f ",m*high);
	   	printf("%.2f",len+m-2*m*high);
	   	return 0;
		} 
   //这题干的意思是第n次落地共经过多少米,而不是反弹的第n次也算上
马剑杰 3年前 回复TA
@warwer s2+=s1*2的循环应该是i=2开始,分开重新弄一个循环
KK 3年前 回复TA
这样系统判100,大伙看看
#include<stdio.h>
int main()
{
	float M,N;
	float S=0.0;
	int i;
	scanf("%f%f",&M,&N);
	for(i=1;i<=N;i++)
	{
	    S+=M;
	    M=M/2.0;
	    S+=M;
	}
	printf("%.2f %.2f",M,S-M);
	return 0;
}
/*题目描述
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。
它在第N次落地时反弹多高?共经过多少米? 保留两位小数
输入
M N
输出
它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行
样例输入
1000 5
样例输出
31.25 2875.00*/
不眠制造家 3年前 回复TA
#include <stdio.h>
#include<math.h>

int main()
{
    float M;
    int N;
    scanf("%f %d", &M, &N);
    printf("%.2f %.2f\n", M / pow(2, N), 1000 + 1000 * (1 - pow(0.5, N - 1)) * 2);
}
说我答案错误,只是符合样例是什么鬼?
llc 3年前 回复TA
#include<stdio.h>
void test(double n, int h)
{
	double z = 0;
	int i = 0;
	for (i = 0; i < h; i++)
	{
		z += n;
		n = n / 2.0;
		if(i < h-1 )
		z += n;
	}
	printf("%.2lf %.2lf", n, z);
}
int main()
{
	double n = 0;
	int h = 0;
	scanf("%lf %d", &n, &h);
	test(n,h);
	return 0;
}