- 论坛徽章:
- 0
|
帮你改了一下,见笑了:
- #include<stdio.h>
-
- int min(int *,int );
- int chan(int *,int);
-
- main()
- {
- int *a,i,j,t,*p,q,N;
- scanf("%d",&N);
- puts("\n");
- a=(int *) malloc (N*sizeof(int));
- p=(int *) malloc (N*sizeof(int));
- for(i=0;i<N;i++)
- scanf("%d",a+i);
- t=min(a,N);
- for(j=t;j>1;j--)
- {
- for(i=0;i<N;i++)
- p[i]=a[i]%j;
- q=chan(p,N);
- if(q)
- {
- printf("成功,最大公约数为:%d\n",j);
- break;
- }
- }
- if(j==1) printf("不存在最大公约数");
-
- }
- int min(int a[],int N)
- {
- int i;
- for(i=0;i<N;i++)
- if(*a>*(a+i)) *a=*(a+i);
- return *a;
- }
- int chan(int a[],int N)
- {
- int i;
- for(i=0;i<N;i++)
- if(a[i]!=0) return 0;
- return 1;
- }
复制代码 |
|