编写主函数,定义一个数组,键盘输入10个整数,再写一个被调函数,该函数可以求出所有这些数据的最大公

2025-03-21 03:28:18
推荐回答(1个)
回答1:

修改常量numsize 可以输入任意个数字

#include 
#include
#define numsize 10 //定义数组大小,可修改实现任意个数字求最大公约
int gy(int *);
int main()
{
    int i,a[numsize];
    printf("输入10个整数:");
    for(i=0;i        scanf("%d",&a[i]);

    i=gy(a);
    printf("最大公约数为:%d",i);
    return 0;
}
 int gy(int *a)
 {
    int i,n,b[100],minNum,sum,*p,count=0;
    p=b;
    minNum=a[0];
    for(i=1;i    {
        if(a[i]        {
            minNum=a[i];
        }
    }
    for(n=1;n<=minNum;n++)
    {
        sum=0;
        for(i=0;i        {
            sum=sum+(a[i]%n);
        }
        if(sum==0)
        {
            *p=n;
            p++;
            count++;
        }
    }
    n=0;
    for(i=0;i    {
        if(b[i]>n)
        {
            n=b[i];
        }
    }
    return n;
 }