那里出错了?

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:18:12
#include "stdio.h"
#define HC 100
main()
{
int h,l,b,c;
for(c=1;c<10;c++)
{
h=HC+(1/(c-1))*HC;
printf("次数%d 长度%d\n",c,h);
}
}

运行后要求关闭程序,那里错了
按前几楼的做了 可以用 但为什么长度都是100不变啊??

哈哈,
1 :h=HC+(1/(c-1))*HC;
当c=1时 应该是有问题 改为for(c=2;c<10;c++)
2: 我不知道题目是怎么说的,你可算算,当c=4时,h已经不是整型的了,
改为:int b,c;
float h;

3 还有输出的类型要随之要改,那个l是做什么用的.
总的变后,成:
#include "stdio.h"
#define HC 100
main()
{
float h,b,c;
for(c=2.0;c<10;c++)
{
h=HC+(1/(c-1))*HC;
printf("次数%f 长度%f\n",c,h);
}
}
你试试吧
我大四了,那个大一学的,忘的也差不多了,希望我的建议对你有所帮助.

h=HC+(1/(c-1))*HC; //这里错了。
1:当c=1时 应该是有问题的吧!
2:1 和 c-1 都是整型的,他们相除得数是整型的,所以(1/(c-1))//当C!=1时它的结果是0 ,所以你的结果是100。
(1.0/(c-1))建议你把1改为1.0

试试 for(c=2;c<10;c++)

错在1/(c-1) c=1时不报错吗

for (c=1;*;*)
c-1=0
so~~~~

ni 的c-1等于0啊。0可以做分母吗?好好考虑一下相信你可以做出来