C++编程时编译没错误但是输不出,以下是我编的程序

2024-11-23 15:04:38
推荐回答(3个)
回答1:

while是循环,当你第一层的for循环i值加到9时,便满足了第一个while的循环条件,开始循环。由于没有控制i值的改变,i值便会一直处于9,无限循环。无限的死循环当然是无法输出你最后的结果的。你在第一个while语句下面加上cout<#include
using namespace std;

int main()
{ int i,m=100,z=100,l,k;//i为次数,z为第二次走的路程,m为第一次走的路程

for(i=2;i<=10;i++)
{m=m+z;
z=z/2;

while(i==9)
{
l=m;
cout< }

while(i==10)
{
k=m;
}

}

cout<<"第十次高度为"< <<"前十次高度为"<}
改正后的代码:
#include
using namespace std;

int main()
{ int i,m=100,z=100,l,k;//i为次数,z为第二次走的路程,m为第一次走的路程

for(i=2;i<=10;i++)
{m=m+z;
z=z/2;

while(i==9)
{
l=m;
i++;
}

while(i==10)
{
k=m;
i++;
}

}

cout<<"第十次高度为"< <<"前十次高度为"<}
还有一点建议你:不管循环体里有几条语句,都应该用大括号括起来,这样可以减少错误几率。养成良好的习惯会给你带来很多好处。

回答2:

#include
using namespace std;
 
int main()
{  
double result = 0;//共经历的距离
double height = 0;//第十次下落的高度
int firstHeight = 100;//初始高度
double temp = 100;//中间变量,存储每次高度
int n = 10;//下落次数
int i;//计数器

for(i=0;i {
result += temp;//累加计算总高度
temp /= 2;//每次下落后高度减半
}
cout<}

回答3:

while(i==9)
l=m;

while(i==10)
k=m;
这里用if(i==9)
if(i==10)
while有循环的意思,不是这样用的