C语言函数问题
下列程序求2个数的最大公约数,程序的两划线处应分别填入________。#include <stdio.h>
#include <stdlib.h>
int cod(long n1,long n2)
{ int t;
while(n2) {________; n1=n2;n2=t; }
return________;}
void main( )
{ int a,b,x;
printf("Please input two numbers:");
scanf("%d%d",&a,&b);
x=cod(a,b);
printf("%d,%d,%d\n",a,b,x);
}
[*]A、t=n1和n1
[*]B、t=n2和n2
[*]C、t=n1%n2和n1
[*]D、t=n1%n2和n2
c 算法:就是用小数除大数,如果余数不是零,就把余数和较小的数构成一组新数,继续上面的除法,知道大数被小数约尽,此时比较小的数就是最大公约数 C,完整代码:#include <stdio.h>
#include <stdlib.h>
int cod(int n1, int n2)
{
int t;
while (n2) {
t = n1 % n2;
n1 = n2;
n2 = t;
}
returnn1;
}
int main()
{
int a, b, x;
printf("Please input two numbers:");
scanf("%d%d", &a, &b);
x = cod(a, b);
printf("%d,%d,%d\n", a, b, x);
} 楼上正解
页:
[1]