余昭妍 发表于 2020-6-26 13:38:58

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


jhanker 发表于 2020-6-26 14:30:21

c

jhanker 发表于 2020-6-26 14:38:30

算法:就是用小数除大数,如果余数不是零,就把余数和较小的数构成一组新数,继续上面的除法,知道大数被小数约尽,此时比较小的数就是最大公约数

永恒的蓝色梦想 发表于 2020-6-26 14:53:40

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);
}

jhanker 发表于 2020-6-26 15:01:51

楼上正解
页: [1]
查看完整版本: C语言函数问题