不如我的,不用任何技巧的超简单代码 #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语言程序设计教程(第三版)课后习题10.7 (C++代码)(都说了scanf和gets一般不要混着用)浏览:1148 |
C语言训练-最大数问题 (C语言代码).........关于-1浏览:762 |
程序员的表白 (C语言代码)浏览:1462 |
C二级辅导-公约公倍 (C语言代码)浏览:1549 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:674 |
【回文数(二)】 (C语言代码)浏览:800 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:724 |
字符串的输入输出处理 (C语言代码)浏览:1019 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5274 |
wu-淘淘的名单 (C++代码)浏览:1532 |