注册 登录
编程论坛 C++教室

求大虾~~~

xiamomo 发布于 2012-11-26 19:26, 292 次点击
编写程序P2,先从键盘输入正整数N(N<10),再输入N个正整数,然后在屏幕上显示这N个正整数的最小公倍数。

#include <iostream>
using namespace std;
int g(int a,int b)  //求最小公倍数
    {
        int c;
        int temp;
        if(a<b)            
        {
            c=b;
            b=a;
            a=c;
        }
        temp=a*b;
        while(b!=0)
        {
            c=a%b;
            a=b;
            b=c;
        }
        temp=temp/a;
    return temp;
    }
  int   main()
{   

    int a[10];
    int N;
    int c;
    cout<<"请输入你要输入的正整数的个数N (<10 ) :"<<endl;
    cin>>N;
    cout<<"依次输入"<<N<<"个正整数"<<endl;
   
    for(int i=0;i<N;i++)
    {cin>>a[N]>>" ";}
    i=0;
   while(a[i]!='\0')
    {
     c = g( a[i] ,a[i+1] ); i++;
    }
    cout<<c<<endl;
  return 0;
}

  
总是出问题~~~怎么回事??
1 回复
#2
mmmmmmmmmmmm2012-11-26 23:04
楼主 修改了一下 供你参考
程序代码:
#include <iostream>
using namespace std;
int g(int a,int b)  //求最小公倍数
    {
        int t;
        if(a>b)
        {
            t=a;
            a=b;
            b=t;
        }
        t=a;
        while ((t%b) != 0)
            t+=a;

 
        return t;
    }
  int   main()
{   

    int a[10];
    int N;
    cout<<"请输入你要输入的正整数的个数N (<10 ) :"<<endl;
    cin>>N;
    cout<<"依次输入"<<N<<"个正整数"<<endl;
   
    for(int i=0;i<N;i++)
    {
        cin>>a[i]; //这里的空格不用了哈 而且是i不是N
    }
    int c=a[0];
    for (int j=1; j<N; j++)
    {
        c = g(c,a[j]);
    }
    cout<<c<<endl;
    return 0;
  }
  
  
1