不如我的,不用任何技巧的超简单代码 #include<stdio.h> int main(void) { float M,N=0,i,sum; scanf("%f %f",&M,&N); sum=M; for(i=1;i<=N;i++) { M=M/2; sum=sum+2*M; if(i==N) { printf("%.2f %.2f ",M,sum-2*M); } } return 0; }
#include<stdio.h> #include<math.h> int main() { int M, N; double high = 0, distance = 0; int b, c; double Sn; scanf("%d%d", &M, &N); b = pow(2, N); high = M / (b * 1.0); c = pow(1.0 / 2.0, N); Sn = M / 2.0 * (1.0 - c) / (1.0 - 0.5); // 修改此处 distance = M + 2 * Sn; printf("%.2lf %.2lf", high, distance); return 0; }请问这为什么不对啊
#include<stdio.h> int main() { int N,x,temp=1; double sum=0 ,M,num;; scanf("%lf %d",&M,&N); for(x=1;x<=N;x++) { num=M; M/=2; sum+=(num+M); if(M<1) { break; temp=0; } } printf("%.2lf %.2lf",M,sum-M); return 0; }
#include<stdio.h> int main() { float a[3] = { 0,0,0},m,n; scanf("%f%f", &m,&n); for (; n != 0; n--) { a[1] += m*2; if (a[2] == 0)a[2] = 1,a[1]-=m; a[0] = m / 2; m = a[0]; } printf("%.2f %.2f", a[0],a[1]); }
uq_96643382197 2023-07-19 00:34:59 |
#include<stdio.h> int main() { float M,N,sum = 0.0; scanf("%f %f",&M,&N); for(int i=1;i<=N;i++){ sum +=(M +M/2); M = M/2; } printf("%.2f %.2f",M,sum-M); return 0; }
#include<stdio.h> int main() { int m, n; int i; float h, l=0; scanf("%d %d", &m, &n); h=m; for(i=1; i<=n; i++) { h/=2; l+=3*h; } printf("%.2f %.2f\n", h, l-h); return 0; }
#include<stdio.h> int main() { int i; int N; double M,sum=0; scanf("%lf %d",&M,&N); for(i=0;i<N;i++){ if(i!=N-1) sum=sum+M+M/2;//第N次落地,总路程不算第N次反弹高度 else sum=sum+M; M=M/2; } printf("%.2lf %.2lf",M,sum); return 0; }
/*一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数 输入格式 M N 输出格式 它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行 样例输入 1000 5 样例输出 31.25 2875.00*/ #include<stdio.h> int main() { int n,h,i; double s=0,a,b; scanf("%d %d",&h,&n); a=h; for(i=1;i<=n;i++) { s=s+a+a/2; a=a/2; } printf("%.2lf %.2lf\n",a,s-a); getchar(); getchar(); return 0; }
菜鸡的小刘 2023-04-20 20:52:40 |
输入1000和0,会返还-1000的弹跳高度,明显有错,只是题目的样例没有用到N=0。
大佬们,这个哪里错了 #include<stdio.h> #include<math.h> int main() { int m, n, i; float x,z, sum = 0; scanf("%d%d", &m, &n); x = 1/ pow(2, n)*m; for(i=1;i<=n;i++) { z = 1/ pow(2, i) * m; sum += z; } printf("%.2f ", x); printf("%.2f", ((2*sum-2*x) + m)); return; }
假币问题 (C++代码)(向上取整的一种处理方式)浏览:1802 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1152 |
C语言考试练习题_排列 (C++代码)浏览:713 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:670 |
【绝对值排序】 (C语言代码)浏览:832 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:583 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1267 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:821 |
Cylinder (C语言描述+详细分析)浏览:3375 |
【偶数求和】 (C语言代码)浏览:460 |