C++ 在这里循环时如何运行?
好的,这是我的代码,除了while循环外,其他一切都正常工作。 这个程序的目的是输入一个数字“40235”,然后除以10,取其余数(5),从主数字中减去,然后除以10,得到它的完美商,即4023。我确实成功地运行了代码,但while循环没有迭代。(是的,我知道我必须计算余数之和,但首先我需要弄清楚如何迭代while循环)。 该循环必须迭代,直到40235变为零C++ 在这里循环时如何运行?,c++,C++,好的,这是我的代码,除了while循环外,其他一切都正常工作。 这个程序的目的是输入一个数字“40235”,然后除以10,取其余数(5),从主数字中减去,然后除以10,得到它的完美商,即4023。我确实成功地运行了代码,但while循环没有迭代。(是的,我知道我必须计算余数之和,但首先我需要弄清楚如何迭代while循环)。 该循环必须迭代,直到40235变为零 #include <iostream> using namespace std; int main() { cou
#include <iostream>
using namespace std;
int main()
{
cout<<"Program to yield exact quotient and sum of remainders: "<<endl;
int num, remainder_1, a, subtract;
cout<<"Enter a number: "<<endl
cin>>num;
while(num!=0)
{
remainder_1 =num%10;
num=num-remainder_1;
a =num/10;
cout<<a<<endl;
}
return 0;
}
#包括
使用名称空间std;
int main()
{
试试看
您的代码中存在多个问题:
循环条件相反,它应该是,而(num!=0)
您不需要从num中减去提醒,整数除法将解决这个问题
您没有将num/10
分配回num
,因此如果您的条件正确,您的循环将永远不会结束
应该是这样的:
while( num!=0 )
{
remainder_1 = num%10;
// do something with reminder
num /= 10; // short form of num = num / 10
}
好吧,算了。非常感谢大家
#include <iostream>
using namespace std;
int main()
{
cout<<"Program to yield exact quotient and sum of remainders: "<<endl;
int num, remainder_1, a, subtract;
cout<<"Enter a number: "<<endl;
cin>>num;
int sum;
while(num!=0)
{
remainder_1 =num%10;
num/=10;
cout<<num<<endl;
sum+=remainder_1;
}
cout<<"The Sum is: \t"<<sum<<endl;
return 0;
}
#包括
使用名称空间std;
int main()
{
当一个程序做了我不期望的事情时,我的第一个想法是输出所有的值,看看它们是否都是我期望的。例如,在你的例子中,我可能会做cout你期望num==0
是“真”还是“假”当您为num
输入40235时,我想您想要的是num=num/10
,而不是a=num/10
#include <iostream>
using namespace std;
int main()
{
cout<<"Program to yield exact quotient and sum of remainders: "<<endl;
int num, remainder_1, a, subtract;
cout<<"Enter a number: "<<endl;
cin>>num;
int sum;
while(num!=0)
{
remainder_1 =num%10;
num/=10;
cout<<num<<endl;
sum+=remainder_1;
}
cout<<"The Sum is: \t"<<sum<<endl;
return 0;
}