标题:请哥哥姐姐们帮我分析下解题思路;选择C是个错误吗?
只看楼主
八神庵
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-24
 问题点数:0 回复次数:8 
请哥哥姐姐们帮我分析下解题思路;选择C是个错误吗?

输入两个正整数m和n,求其最大公约数和最小公倍数 程序编写如下: main() {int p,r,n,m,t; printf("输入两个正整数m,n"); scanf("%d,%d",&n,&m); if(n<m) {t=m;m=n;n=t;} p=n*m; while (m!=0) {r=n%m;n=m;m=r;} printf("最大公约数为:%d\n",n); printf("最小公倍数为:%d\n",p/n); } 对于 if(n<m) {t=m;m=n;n=t;} p=n*m; while (m!=0) {r=n%m;n=m;m=r;} 这段程序,我不是太明白,请各位帮忙详细的解释一下 还有题,求n! main() {float t=1; int n; for (n=1; ;n++) t=t*n; printf("%e",t); } 呵呵,这是我自己写的,估计是个死循环。 唉,C语言才刚开始学,前面这些简单的题目都不会写,到以后比这更难更烦的该怎么办啊, 我都快没信心了,而且我发现,要学好C,数学和外语的底子要好,是吧

搜索更多相关主题的帖子: 思路 解题 printf main 
2005-04-25 11:20
siny01948
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-4-25
得分:0 
if(n&lt;m)
         {t=m;m=n;n=t;}    是把大的数放在前面的,一般说是交换2个付值数的位置,n〈m是交换条件。

p=n*m;  这个懂吧!


r=n%m 一 也该知道了吧   是求余数的。
  我以为这你清楚了  句没问题了吧  我以前就是那有问题  不知道你清楚不?
2005-04-25 11:32
siny01948
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-4-25
得分:0 
当然是个死循环了啊  你的没有结束条件啊    就是说那N值什么时候是个头啊,是吧;是你的循环体出了问题;:
2005-04-25 11:38
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-4-25
得分:0 
第一个题很显然 首先是楼主什么公约数公倍数没弄清楚 小学学的 我也忘得差不多了 我猜用到了小学奥林匹克的数学“韩信点兵” 一会我去查资料 再学小学数学哈

第二个题 for中间的那个条件控制都是空的 当然是死循环了

最后的问题 现在是竞争的社会 要别人强要竞争过别人就肯定要作出巨大的决心付出巨大的代价 不可否认 对楼主来说学好C很困难 但要什么困难都克服不了最终你只能一事无成了 

据小生所知 学C不难 但要用好C需要良好的数学底子 英语底子倒暂时不用考虑

一开始学c有个初中数学底子就可以了 以后会一定程度上地用C了 再补数学也不迟

/bbs/showimg.asp?BoardID=5&filename=2005-4/2005427111228529.jpg" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://bbs./bbs/showimg.asp?BoardID=5&filename=2005-4/2005427111228529.jpg');}" onmousewheel="return imgzoom(this);" alt="" /> 欢迎加入C语言QQ群698156 我们都是菜鸟乃至新手 坚信有一天定能展翅高飞 因为有着努力的决心 衷心盼望你的到来 让我们一起进步
2005-04-25 12:13
kenwuchan
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-3-31
得分:0 
用辗转法吧
2005-04-25 12:14
musicml
Rank: 1
等 级:新手上路
帖 子:273
专家分:0
注 册:2005-4-2
得分:0 

//我也写也个看看把 #include<stdio.h>

int gcd(int x,int y) { int t=1; while(t) { t=x%y; if(t==0) break; x=y; y=t; } return y; }

int gc(int x,int y) { int s; s=x/y; return s; }

void main() { int a,b,k,m,j=0; printf("input two number a>b:\n"); scanf("%d %d",&a,&b); m=a*b; k=gcd(a,b); j=gc(m,k); printf("k=%d\t j=%d\n",k,j); }


Every thing is possible.
2005-04-25 16:59
八神庵
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-24
得分:0 
我想问个问题,为什么两个数的乘积除以它们的最大公约数,等于它们的最小公倍数???
我想来想去始终都想不明白,只能强行记忆了!


_______厭倦了現實dè虛偽 羙囇.祗属吁恛憶______`、 ─━Aurora ㈡ОО㈤ 親簽
2005-05-01 09:57
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
....问问你的小学老师...

淘宝杜琨
2005-05-01 11:07
lycnsc
Rank: 1
等 级:新手上路
帖 子:243
专家分:0
注 册:2005-3-27
得分:0 
晕!你这题目挺刺激人的!
2005-05-01 13:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-16626-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.507141 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved