用欧几里得算法(辗转相除法)求最大公约数,C语言编程

问题描述:

用欧几里得算法(辗转相除法)求最大公约数,C语言编程
#include
#include
int main()
{
int m,n,a,p,q,r;
printf("输入两个正整数");
scanf("%d,%d",&m,&n);
p=m;
q=n;
if(m
1个回答 分类:综合 2014-10-31

问题解答:

我来补答
你的程序是正确的,
瑕疵在于
scanf("%d,%d",&m,&n);
scanf函数,双引号内光写格式就好了,不用写逗号什么的,多写什么程序运行的时候就要输入什么.如你所写,运行时就应输入:12,24 若你在12与24之间按的是空格或其他有可能影响到第二个变量取不到值.
所以建议改为
scanf("%d%d",&m,&n); 程序运行要求输入时两个数之间按空格回车随你.
再问: 嗯,if语句和while语句中需要用{ }标注吗?会引起误解吗?就像刚才那位朋友说的,加上{ }有必要吗?
再答: if和while后面一般都要加{},当后面只有一条语句时可以省略。 所以你的程序中if后面是要加{}的,你有三条语句。我刚没注意到这点。
 
 
展开全文阅读
剩余:2000