#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; }
#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; } 求大佬解释,哪里错了。
amazarashi 2022-03-26 17:26:23 |
脑子抽了,不是加1000。
amazarashi 2022-03-26 17:26:55 |
#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; }
#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次也算上
这样系统判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*/
#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); } 说我答案错误,只是符合样例是什么鬼?
#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; }
#include<stdio.h> int main(void){ int M=0,N=0,i=0; double Height=0.0; double S=0.0; scanf("%d%d",&M,&N); Height = (double)M; for(i=0;i<N;i++){ if(i==0){ break; }else{ Height/=(2.0); S+=Height*3; } } printf("%.2f %.2f",Height,S); return 0; } 我的下落高度是对的,为啥是经过距离错误?经过距离不是上次下落高度的三倍嘛? 求大佬指点!谢谢!
风迹浪子 2021-12-21 15:29:03 |
那个if(i==0)我写的是N==0粘贴错误
#include<stdio.h> int main(){ float mi,gao,s=1,m=1; int n,h; scanf("%d %d",&h,&n); for(int b=1;b<=n;b++){ s*=0.5; } gao=s*h; for(int b=1;b<n-1;b++){ m*=0.5; } mi=h+h*(2-m); printf("%.2f %.2f ",gao,mi); return 0; }
printf基础练习2 (C语言代码)浏览:3404 |
简单的a+b (C语言代码)浏览:783 |
C语言训练-计算1977!* (C++代码)浏览:907 |
C语言训练-大、小写问题 (C语言代码)浏览:792 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:541 |
众数问题 (C语言代码)浏览:911 |
剪刀石头布 (C语言代码)浏览:1792 |
wu-理财计划 (C++代码)浏览:907 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:573 |