#include<iostream>
using namespace std;
int gongyue(int n, int m);
int gongbei(int a, int b);
int main()
{
int nn, mm, yue, bei,n,m;
cout << "請輸入第一個數:";
cin >> nn;
cout << "請輸入第二個數:";
cin >> mm;
yue = gongyue(n, m);
cout << "最小公約數為:" << yue << endl;
bei = gongbei(nn, mm);
cout << "最大公倍數為:" << yue << endl;
}
int gongyue(int n, int m)
{
int r=1;
while (r != 0)
{
r = n % m;
n= m;
m=r;
}
return n;
}
int gongbei(int a, int b)
{
int y = gongyue(n, m);//未定義的識別符號"n"。未定義的識別符號"m"
int bei = a * b / y;
return bei;
}
uj5u.com熱心網友回復:
沒問題啊,函式里面你哪里定義了n,m, 也沒有全域變數叫n,m的uj5u.com熱心網友回復:
按照編譯器調整錯誤繼續除錯吧,總算看到一個問問題靠譜點的帖子了.uj5u.com熱心網友回復:
#include<iostream>
using namespace std;
int gongyue(int n, int m);
int gongbei(int a, int b);
int main()
{
//int nn, mm, yue, bei, n, m;
int nn, mm, yue, bei;
cout << "請輸入第一個數:";
cin >> nn;
cout << "請輸入第二個數:";
cin >> mm;
//yue = gongyue(n, m);
yue = gongyue(nn, mm);
cout << "最小公約數為:" << yue << endl;
bei = gongbei(nn, mm);
//cout << "最大公倍數為:" << yue << endl;
cout << "最大公倍數為:" << bei << endl;
}
int gongyue(int n, int m)
{
int r = 1;
while (r != 0) {
r = n % m;
n = m;
m = r;
}
return n;
}
int gongbei(int a, int b)
{
//int y = gongyue(n, m); //未定義的識別符號"n"。未定義的識別符號"m"
int y = gongyue(a, b);
int bei = a * b / y;
return bei;
}
uj5u.com熱心網友回復:
十分感謝(?′ω`?)!來自小白的欽佩的眼光!uj5u.com熱心網友回復:
我也遇到了同樣的問題,顯然看起來不可思議。但是我最后檢查出來是函式定義的時候“(”括號打成了中文符號。希望和我一樣錯誤的人能看到轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/121033.html
標籤:C++ 語言
