Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

有能幫我查一下這題嗎..??

0 views
Skip to first unread message

夜情人-g

unread,
Nov 3, 2002, 7:36:13 AM11/3/02
to

我是用輾轉相除法來求輸入二數的最大公因數的
但..只要輸入的第一個數比較大 ex: 30 VS 20 就會印出 最大公因數為10
但..第二個數若比較小 ex: 20 VS 30 就會印出 ...0 是那兒沒寫好呢..
麻煩大家幫我看一下...我有知道那錯了..但.不知怎麼修正..大家幫幫我嚕..


#include <stdio.h>
void main()
{
int m,n,a,b,w=1;
printf("請輸入值a:");
scanf("%d",&a);
printf("請輸入值b:");
scanf("%d",&b);

{m=a; n=b;}

while (w!=0)
{
if (m > n)
{
w=m%n;
m=n;
n=w;
}
else
{
w=n%m;
n=m;
m=w;
}
}
printf("%d與%d最大公因數為%d \n",a,b,m);
}
--
[1;32m┌───── [33m◆ [37mKKCITY [33m◆ [32m─────┐ [34m┐┌┐┐┌┐┌─┐┌┬┐┌┬┐┐ ┌ [m
[1;32m│ [31m bbs.kkcity.com.tw [32m│ [37m├┘┐├┘┐│ │ │ └┬┘ [m
[1;32m└── [34m《 [0;37mFrom:61.216.129.137 [1;34m》 [32m──┘ [36m┘ ┘┘ ┘└─┘└┴┘ ┴ ┴ [m

掛站機器人

unread,
Nov 3, 2002, 9:07:14 AM11/3/02
to
※ 引述《m...@kkcity.com.tw (夜情人-g)》之銘言:
: 我是用輾轉相除法來求輸入二數的最大公因數的

: 但..只要輸入的第一個數比較大 ex: 30 VS 20 就會印出 最大公因數為10
: 但..第二個數若比較小 ex: 20 VS 30 就會印出 ...0 是那兒沒寫好呢..
: 麻煩大家幫我看一下...我有知道那錯了..但.不知怎麼修正..大家幫幫我嚕..
: #include <stdio.h>
: void main()
: {
: int m,n,a,b,w=1;
: printf("請輸入值a:");
: scanf("%d",&a);
: printf("請輸入值b:");
: scanf("%d",&b);
: {m=a; n=b;}
: while (w!=0)
: {
: if (m > n)
: {
: w=m%n;
: m=n;
: n=w;
: }
: else
: {
: w=n%m;
: n=m;
: m=w;
: }
: }
: printf("%d與%d最大公因數為%d \n",a,b,m);
: }
歐幾里得應該會被你氣死

#include <stdio.h>
void main(){
int m,n,a,b,r;

printf("請輸入值a:");
scanf("%d",&a);
printf("請輸入值b:");
scanf("%d",&b);

a>b ? (m=a,n=b) : (m=b,n=a);
r=m%n;

while (r!=0){
m=n;
n=r;
r=m%n;
}

printf("%d與%d最大公因數為%d \n",a,b,n);
}
--
[1;31mO [1;32mr [1;33mi [1;34mg [1;35mi [1;36mn [1;31m: [1;36m<不良牛牧場> [1;33mzoo.ee.ntu.edu.tw [1;32m(140.112.18.36) [m
[1;32mWelcome to SimFarm BBS [1;36m-- [m [1;31mFrom : [ [m61-231-97-60.HINET-IP.hinet.net [1;31m] [m

夜情人-g

unread,
Nov 3, 2002, 10:23:08 AM11/3/02
to
>"<關他什麼事丫..>"<
我就是不大會寫咩..>"<


※ 引述《shut...@zoo.ee.ntu.edu.tw (掛站機器人)》之銘言:

[]

unread,
Nov 8, 2002, 11:07:38 AM11/8/02
to
==> m...@kkcity.com.tw (夜情人-g) 提到:

: > 歐幾里得應該會被你氣死
: > #include <stdio.h>
: > void main(){
: > int m,n,a,b,r;
: > printf("請輸入值a:");
: > scanf("%d",&a);
: > printf("請輸入值b:");
: > scanf("%d",&b);
: > a>b ? (m=a,n=b) : (m=b,n=a); =======>這行我不大懂呢..為什麼 a>b
: > r=m%n; 然後要 打個 ?丫?
: > while (r!=0){ 誰能回答我丫.?
: > m=n;

: > n=r;
: > r=m%n;
: > }
: > printf("%d與%d最大公因數為%d \n",a,b,n);
: > }
語法跟
if(a>b)
{
m=a;
n=b;
}
else
{
m=b;
n=a;
}
是一樣的

--
◎ [1;31m龍 [32m貓 [33m資 [34m訊 [35m天 [36m地 [0m( [1mbbs.mgt.ncu.edu.tw [0m)
◎[ [1;33;46msclee [0m]From: sw59-158-171.adsl.seed.net.tw

0 new messages