C语言问题

一求从100米高度自由落下,每次落地后返跳回原高度的一半,在落下。求他在第十次落地是共经过多少米?第十次反弹多高? 要用for语句!谢谢啦!

#include<stdio.h>
main()
{
float a,b;int i;
a=100;
b=0;
for(i=0;i<=9;i++)
{
b+=a;
a=a/2;
}
printf("a=%f",a);
printf("\n");
printf("b=%f",b);
}
结果:a=0.10,b=199.80 (这个错了)
以上,a是第10次反弹高度,b是第10次落地经过的路径长度。

第1个回答  2008-05-28
#include<stdio.h>
main()
{
float a,b;int i;
a=100;
b=0;
for(i=0;i<2;i++) {
if(i)
b+=a*2;
else
b+=a;
a=a/2;
}
printf("a=%f",a);
printf("\n");
printf("b=%f",b);
}
程序中的if和else语句分别是针对了不同的情况处理,因为第一次是从100米高处掉下,所以直接加100,第二次的时候,b经过的路程是回弹加落地距离,所以是2倍a的距离。其实我们可以把b赋初值为100,a为50,然后for改成从1开始,那if和else语句就可以只用if语句了。
第2个回答  2008-05-28
程序应该是这样
#include<stdio.h>
main()
{
float a,b;int i;
a=100;
b=100;
for(i=0;i<=9;i++)
{
a=a/2;
b+=2*a;
}
printf("a=%f",a);
printf("\n");
printf("b=%f",b);
printf("\n");
}
a=0.10,b=299.80
第一次反弹50米,下落也50米,b指的是路径,从第一次反弹起每次的路径应该为反弹高度的两倍。本回答被提问者采纳
第3个回答  2008-05-28
#include<stdio.h>
main()
{
double a,b;int i;
a=100;
b=0;
for(i=0;i<=9;i++)
{
b+=a;
a=a/2;
}
printf("a=%0.8lf",a);
printf("\n");
printf("b=%0.8lf",b);
}
结果:a=0.09765625
b=199.80468750
结果是对的,你可以手算下
第4个回答  2008-05-28
输出的数据,楼主把经过的米数(应该是b)和反弹的高度(a)理解反了吧?

你怎么知道你的输出是错的呢?
第5个回答  2008-05-28
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int i;
float total,h=100.0;

for (i = 1;i<10;i++){
total += h;
h /= 2;
}

h /= 2;

printf("total = %f\n",total);
printf("10th h = %f\n",h);
exit (0);
}

total = 199.609375
10th h = 0.097656

不知道对不?

c语言常见问题有哪些
1、书写标识符时,忽略了大小写字母的区别。2、忽略了变量的类型,进行了不合法的运算。3、将字符常量与字符串常量混淆。4、忽略了等号与双等号的区别。5、忘记加分号。6、输入变量时忘记加地址运算符。7、输入数据的方式与要求不符。8、输入字符的格式与要求不一致。9、输入输出的数据类型与所用格式...

c语言程序 哪里出错了呢 始终运行不出结果
在C语言编程中,若程序始终无法输出结果,可能是因为输入数据的类型与程序调用的数据类型不一致。以scanf函数为例,当使用 scanf("%lf%lf%lf",&a,&b,&c);进行输入时,确实将输入的数字以float类型存储至内存中。然而,程序在读取这些内存时,可能期望以double类型进行解析。这种类型不匹配会导致解析出...

c语言能解决哪些问题
C语言具有高度的可移植性,可以在多种不同的操作系统平台上运行,解决跨平台兼容性问题。无论是Windows、Linux还是Unix系统,C语言都能很好地适应并运行。这使得C语言在开发需要跨平台运行的应用时具有很大的优势。总的来说,C语言因其高效、灵活、可移植性强等特点,能解决从系统开发到算法实现,从性能...

C语言的运行出现不了的问题是什么问题??
环境问题:代码在不同的操作系统、编译器或硬件平台上可能存在差异,导致代码无法正常运行。可以检查编译器和操作系统的兼容性,或在特定的环境中运行代码。逻辑问题:代码逻辑存在问题,导致代码无法正确执行。可以检查代码逻辑是否正确,是否存在死循环、递归深度过大等问题。综上,C语言代码运行不出现象可能...

c语言常见问题有哪些?
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3)a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“a=...

计算机程序c语言面试常见问题
c语言作为计算机程序设计语言,是考察软件工程师应聘者技术能力的关键。计算机程序c语言面试常见问题,我们来看看。c语言 面试题 精选(笔试)单选题部分 1、C语言程序的基本单位是___A.语句 B.函数 C.程序行 D.字符 答案:B 2、C语言程序由()组成 A.子程序 B.过程 C.函数 D.主程序段程序 ...

求c语言一些常见问题,
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“...

c语言面试经常问到的问题有哪些?
c语言面试经常问到的问题有:1、C语言的主要特征是什么?C是一种过程语言。C语言的主要功能包括对内存的低级访问,简单的关键字集和简洁的样式。这些功能使其适用于诸如操作系统或编译器开发之类的系统编程。2、i ++和++i有什么区别?1)表达式“i ++”返回旧值,然后递增i。表达式++i递增该值...

C语言基本问题有哪些?
一、C语言规定总是从main()开始执行的(这个函数也叫“主函数”)。因此,你发来的题目中的(1、6、8)叙述都是错误的,都应该选择F。二、第2题中,C语言对其数据在内存中所占用的实际字节数,随着程序中声明的数据类型以及数据的多少而变化,C语言本身并没有明确规定。这题应该选F。三、第3题...

C语言代码问题?
在C语言中,我们可以编写一个程序来找出并输出10000以内的所有亲密数对。首先,我们需要编写一个函数来计算一个整数的所有真因子之和。然后,我们可以遍历1到10000之间的所有整数,对于每个整数,检查其真因子之和是否也在1到10000的范围内,并且它们的真因子之和是否互为对方。以下是C语言代码的一个示例...

相似回答
大家正在搜