为什么它不能用s、nr、p和nr1呢?
Why dosen't it cout s , nr , p and nr1?
#include <iostream>
using namespace std;
int main()
{
int n,x,y,s=0,p=1;
int nr,nr1;
cout<<"n=";
cin>> n ;
cout<<"x=";
cin>> x ;
cout<<"y=";
cin>> y;
while(n!=0)
{
if(n%10%x==0)
s=s+n%10;
nr++;
if(n%10<y)
p=p*(n%10);
nr1++;
}
cout<<"s="<<s<<"n";
cout<<"nr="<<nr<<"n";
cout<<"p="<<p<<"n";
cout<<"nr1="<<nr1<<"n";
}
我可以为n , x
和y
键入一个值,但之后不会显示任何结果。我真的不知道该怎么办。我认为最后的cout有问题,但我真的不知道什么。我真的很感激是否有人能提供帮助,因为我需要在两天内进行考试...
循环时有一个无限的。
您可以拥有逻辑,例如:
while(n!=0)
{
n = n%10;
if(n%x==0)
s=s+n ;
nr++ ;
if(n<y)
p=p*n ;
nr1++ ;
}
这将是您逻辑的答案。我使用了静态值,使其动态。使用输出的工作代码:http://codepad.org/b5kpwc6y
#include <iostream>
using namespace std;
int main() {
int n = 123456;
int x=2;
int y=5;
int s=0;
int p=1;
int digit = 0;
while(n>0)
{
digit=n%10;
if(digit%2==0)
{
s=s+digit;
}
if(digit<y)
{
p=p*digit;
}
n=n/10;
}
cout<<"nSum = " << s;
cout<<"nProd = " << p;
}
相关文章: