这段C++我怎么运行不起来呢

来源:百度知道 编辑:UC知道 时间:2024/05/04 17:18:38
#include<stdio.h>
int main(void)
{
int n; //n 需要卡片数量
float c,lengths; // c需要长度 leng 多出长度
scanf("%f",&c);
while (c!=0)
{
n=1;
lengths=1.0/2;
while (lengths<c)
{
n++;
lengths=lengths+1/n;
}
printf("%d card(s)",n);
scanf("%f",&c);
}
return 0;}

LS 说得对,lengths=lengths+1/n;
后面的1/n改成1.0/n,否则1/n是0,lengths不变的
还有while (c!=0) 浮点数和0比较最好不要这样,有可能因为精度问题出错的

lengths=1.0/2; 数据的类型不同,最好强制转换一下,另外在主函数的上面加上#include<iostream.h> 试试呵呵

欢迎在线讨论:
while (lengths<c)
{
n++;
lengths=lengths+1/n;
}
程序在这个循环里出不来

while (lengths<c)//此处死循环