C++
1.從鍵盤輸入數行資料,每行三個正整數n1、n2和n3,三個0表示輸入結束。每輸入完一行,輸出n1和n2之間(包括n1和n2)能被n3整除的數的個數。
要求用一個函式實作統計整除數個數的功能,其首部為:
int aliquot(int n1, int n2, int n3)
這是題目要求;
下面是我的代碼,最后輸出的結果不正確哪里錯了a
#include<iostream>
using namespace std;
#include<string>
int aliquot(int n1, int n2, int n3)
{
int i,m=0;
for(i=n1;i<=n2;i++)
{
if( n3%i == 0)
{
m++;
}
i=i++;
}
return(m);
}
int main()
{
int a,b,c,d;
while(true)
{
cout<<"please enter three integer number:"<<endl;
cin>>a>>b>>c;
if(a==0 && b==0 && c==0)
break;
d=aliquot(a,b,c);
cout<<d<<endl;
}
return 0;
}
大神求助;
uj5u.com熱心網友回復:
for(i=n1;i<=n2;i++){
if( n3%i == 0)
{
m++;
}
//i=i++;這行不要
}
uj5u.com熱心網友回復:
嗯謝謝,改好了,if( n3%i == 0) 改成了if(i%n3==0)
uj5u.com熱心網友回復:
具體原題是什么我不知道,
你改完的是 “能整除n3" ,你的原話是 ”能被n3整除“
這好像不太一樣吧??
uj5u.com熱心網友回復:
嗯,原題的要求確實是能被n3整除,但是我不該之前回傳的m一直是0,但改了之后就行了,不知道是什么原因uj5u.com熱心網友回復:
在我這里可以啊
uj5u.com熱心網友回復:
for(i=n1;i<=n2;i++)這個條件是否正確,假如輸入的n1 > n2呢轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/87319.html
標籤:C++ 語言
