#include
using namespace std; int gongyue(int x,int y);//声明求公约函数 int gongbei(int x,int y);//声明求公倍数函数 int main() { int i,T,a[]={0},b[]={0},c[]={0},d[]={0}; cin>>T;//输入T为行数 for(i=0;i
>a[i]>>b[i];//每行输入两个用来求小公倍数和最大公约数的数 } cout<<endl; c[i]=gongyue(a[i],b[i]); d[i]=gongbei(a[i],b[i]);//两个函数调用 for(i=0;i<T;i++) { cout<<c[i]<<"\t"<<d[i]<<endl;//用来输出最大公约数和最小公倍数 } return 0; } int gongyue(int x,int y)//定义公约数函数 { int temp,j; if(x<y) { temp=x; x=y; y=temp; } for(int i=0;i<temp;i++) { if(x%i==0&&y%i==0) j=i; } return j; } int gongbei(int x,int y)//定义公倍数函数 { int k; for(int i=0;;i++) { if(i%x==0&&i%y==0) { k=i; } break; } return k; } 如上,编译之后执行只能输入,但是根本无法输出,求大神解
公约数函数有问题
int gongyue(int x,int y)//定义公约数函数最简单的改法就是这样了 i从1开始计数
如果从0开始 会出现x%0的情况 这个会出错的 和除0一个效果
我比较纠结的是前面的数组循环输出为什么输出空白,后面的调用函数我是验证过的没有问题
追答你把代码发给我,别这么乱的代码,发我Q上,1115058276
本回答被提问者采纳