-1
#include<iostream>
using namespace std;
int c;
int fun_div();
int fun_div(int a,int b){
if(a%b==0){
c=1;
   cout<<"Solution Available :\t"<<c;
} else
{
    c=0;
    }   
     return c;
    } 
int main(){
    int c;
    int e,d;
    cout<<"enter two values : \n";
    cin>>e>>d;
    cout<<endl;
}

查找两个数字的模而不编译程序时出错:

查找两个数字的模而不编译程序时出错

4

4 回答 4

1

它为我编译

#include<iostream>
using namespace std;
int c;
int fun_div();
int fun_div(int a,int b)
{
    if(a%b==0){
        c=1;
        cout<<"Solution Available :\t"<<c;
    } else {
        c=0;
    }   
    return c;
} 
int main(){
    int c;
    int e,d;
    cout<<"enter two values : \n";
    cin>>e>>d;
    fun_div(e,d);
    cout<<endl;
}

当询问编译错误时,您应该输入错误消息。但是,我完全复制了您的代码并且可以编译。

另一件事是你没有调用你的函数,所以我也添加了它。

作为旁注,你可以这样做

int fun_div(int a, int b)
{
    return (a%b == 0);
}

因为(a%b == 0)如果a是 b 的倍数,则为 1,否则为 0。

于 2016-11-03T05:35:58.323 回答
0
#include<iostream>
using namespace std;
int c;
int fun_div();

int fun_div(int a,int b)
{
 if(a%b==0){
 c=1;
 cout<<"Solution Available :\t"<<c;
} 
else
 { c=0; }   
return c;
} 

int main()
{
    int e,d;
    cout<<"enter two values : \n";
    cin>>e>>d;
    c=fun_div(e,d);
    cout<<endl;
}

尝试这个。我想这是你所期望的。请解释您的问题以获得更具体的答案。

我在函数 fun_div 中添加了一个函数调用。

于 2016-11-03T05:34:14.040 回答
0

您可能应该添加一个更大的检查。更大的检查将确保有适当的余数可用

于 2016-11-03T05:47:11.417 回答
0

那么你代码中的主要问题是你没有调用你定义的函数,这就是为什么你没有得到想要的结果,并且有一些更好的编写代码的做法,你应该遵循这些做法以避免将来出现错误。

不要使用全局变量,如果您从函数返回结果,则从主函数显示在屏幕上。

推荐代码如下,我已经改变了函数,所以它只会检查'a'是否可以被'b'整除并将值返回给main,这样它就会在屏幕上显示结果。

#include<iostream>
using namespace std;

int fun_div(int a, int b)
{
    return (a%b == 0);
}
int main() {
    int e, d;
    cout << "enter two values : ";
    cin >> e >> d;
    if (fun_div(e, d))
    {
        cout << "Solution Exists.";
    }
    else
    {
        cout << "No Solution Exists.";
    }
    cout << endl;
    return 0;
}
于 2016-11-03T06:06:18.300 回答