中易网

C语言循环语句

答案:4  悬赏:80  
解决时间 2021-04-27 13:15
  • 提问者网友:年齡太小℡蘿莉
  • 2021-04-27 00:41

这是求最大公约数的,但是while循环有错误 我看不出来,请帮忙看下

#include<stdio.h>
void main()
{
 int a,b,t,x;
 t=0;

printf("请输入两个整数");
 scanf("%d %d",&a,&b);
 if(a<b)
 {
  t=a;
  a=b;
  b=t;
 }
 printf("%d %d\n",a,b);
    x=b;
 while(a%x!=0 && b%x!=0)
  x--; 
 printf("最大公约数为%d",x);
}

 

最佳答案
  • 二级知识专家网友:单身小柠`猫♡
  • 2021-04-27 00:58

格式错了,应该是do ……while循环结构:


下面用其他的写下了


#include<stdio.h>


void main()


{


   int a,b,t,x,j;


   printf("请输入两个整数");
   scanf("%d %d",&a,&b);
   t=a>b?a:b3


   for(x=1;x<=t;x++)


    if(a%x==0&&b%x==0)


    j=x;


   printf("gong yue shu :%3d\n",j);


}


全部回答
  • 1楼网友:哭不代表软弱
  • 2021-04-27 03:27

#include<stdio.h> void main() {  int a,b,t,x;  t=0;

printf("请输入两个整数");  scanf("%d %d",&a,&b);  if(a<b)//a中存放最大数,b中存放最小数  {   t=a;   a=b;   b=t;  }  printf("%d %d\n",a,b);  //while(a%x!=0 && b%x!=0)  // x--;   while(b)  {   x = b ;   b = a % b ;   a = x ;  }  printf("最大公约数为%d\n",a); }

 

  • 2楼网友:情战凌云蔡小葵
  • 2021-04-27 02:56

#include<stdio.h> int gcd(int m,int n) {  int g;  if(n==0)     g=m;     else     g=gcd(n,m%n);     return (g);  } void main() {  int m,n;     printf("input two numbers \n");     scanf("%d,%d",&m,&n);     printf("the big is %d",gcd(m,n)); }

求最大公约数

  • 3楼网友:星痕之殇
  • 2021-04-27 02:01
当a%x!=0 && b%x!=0,这个条件不满足的时候循环结束,前面有个 x=b; 可以说这个循环永远也进不去。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息