C语言循环结构程序设计题
用while语句、do-while语句和for语句编写循环结构的程序1.有一个计算最大公约数的算法如下:1)输入两个正整数到m和n;2)如果m=n输出最大公约数m程序结束...
用while语句、do-while语句和for语句编写循环结构的程序
1.有一个计算最大公约数的算法如下:
1)输入两个正整数到m和n;
2)如果m=n输出最大公约数m程序结束;
3)若m>n则m=m-n否则n=n-m;
4)返回到2) (循环)。
用适合的循环控制语句实现这个算法。
2.修改上面的程序,使它能够输出m,n在运算构成中的变化。
3.用集成环境提供的单步执行功能,跟踪查看每个语句执行后便量的变化情况。 展开
1.有一个计算最大公约数的算法如下:
1)输入两个正整数到m和n;
2)如果m=n输出最大公约数m程序结束;
3)若m>n则m=m-n否则n=n-m;
4)返回到2) (循环)。
用适合的循环控制语句实现这个算法。
2.修改上面的程序,使它能够输出m,n在运算构成中的变化。
3.用集成环境提供的单步执行功能,跟踪查看每个语句执行后便量的变化情况。 展开
展开全部
(1)用while语句实现
#include<stdio.h>
void main()
{
int m,n;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
while(m!=n)
{
if(m>n)m=m-n;
else n=n-m;
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
printf("最大公约数为:%d\n",m);
}
(2)用do-while语句实现
#include<stdio.h>
void main()
{
int m,n;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
do
{
if(m>n)m=m-n;
else n=n-m;
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
while(m!=n)
printf("最大公约数为:%d\n",m);
}
(3)用for语句实现
#include<stdio.h>
void main()
{
int m,n,j;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
for(i=0,i++,i<m)
{
if(m==n)
break;
else
{
if(m>n)m=m-n;
else n=n-m;
}
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
printf("最大公约数为:%d\n",m);
}
#include<stdio.h>
void main()
{
int m,n;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
while(m!=n)
{
if(m>n)m=m-n;
else n=n-m;
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
printf("最大公约数为:%d\n",m);
}
(2)用do-while语句实现
#include<stdio.h>
void main()
{
int m,n;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
do
{
if(m>n)m=m-n;
else n=n-m;
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
while(m!=n)
printf("最大公约数为:%d\n",m);
}
(3)用for语句实现
#include<stdio.h>
void main()
{
int m,n,j;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
for(i=0,i++,i<m)
{
if(m==n)
break;
else
{
if(m>n)m=m-n;
else n=n-m;
}
printf("m=%d n=%d\n",m,n); \\输出m,n在运算构成中的变化
}
printf("最大公约数为:%d\n",m);
}
展开全部
这个算法程序没有错,只是需要输入两个正整数.
#include<stdio.h>
void main()
{
int m,n;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
while(m!=n)
{
if(m>n)m=m-n;
else n=n-m;
printf("m=%d n=%d\n",m,n);
//这一句就输出了m,n在运算构成中的变化
}
printf("最大公约数为:%3d\n",m);
}
3、调试要根据你输入的数字不同,在环境中自己去做。
#include<stdio.h>
void main()
{
int m,n;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
while(m!=n)
{
if(m>n)m=m-n;
else n=n-m;
printf("m=%d n=%d\n",m,n);
//这一句就输出了m,n在运算构成中的变化
}
printf("最大公约数为:%3d\n",m);
}
3、调试要根据你输入的数字不同,在环境中自己去做。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int CommonDivisor(int m,int n)
{
while(m!=n)
{
if(m>n)
{
m-=n;
}
else
{
n-=m;
}
}
return m;
}
main()
{
int m,n,cd;
printf("\nInput M ! \n");
scanf("%d",&m);
printf("Input N !\n");
scanf("%d",&n);
cd= CommonDivisor(m,n);
printf("The CommonDivisor is %d .",cd);
}
{
while(m!=n)
{
if(m>n)
{
m-=n;
}
else
{
n-=m;
}
}
return m;
}
main()
{
int m,n,cd;
printf("\nInput M ! \n");
scanf("%d",&m);
printf("Input N !\n");
scanf("%d",&n);
cd= CommonDivisor(m,n);
printf("The CommonDivisor is %d .",cd);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询