水母吃什么 怎么养:C语言简单题

来源:百度文库 编辑:高校问答 时间:2024/05/05 11:33:42
就是输2个数 求它们的最大公约数:我编了 但是系统说我错了,是这样的:
#include<math.h>
#include<stdio.h>
main()
{int m,n,t,r;
scanf("%d,%d\n",&m,&n);
if(m<n) /*1当M小于N时,它们交换*/
{t=m;m=n;n=t;}
r=m%n;/*2求M除N的余数R*/
for(r!=0)/*3在余数R不等于0的情况下 循环以下*/
{m=n;/*4这时的N是被除数,把N复职给M,让N为除数*/
n=r;/*5让R复职给N,做被除数。*/
r=m%n;/*6如果R不等于0 重复以上,直到R=0*/
}
printf("%d",n)
}
完!!!!!!!!!!!
我哪点错了执行不起,系统在编号3提示说我for(r!=0)这个0错了!真不懂!
请老鸟指出!

是不是 只要改动 3 那一行啊

你把for改为while

把for改为while
楼上的说的很对
for(int i=0;i<100;i++)
{}
这才是for语句的格式
while(true)
{}
这是while的格式

scanf("%d,%d",&m,&n);

while(r)

printf("%d",n);