English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

明天就要考試了,有點趕,但拜託各位大大幫忙,因為有一些小細節作不出來,也拜託各位大大幫我解一下第二題。
第一題:在continue一直打不出來,請各位大大幫忙
1.
//找出二數之最大公因數和最小公倍數,若輸入的數不是正數 ,則要重新輸入 .
#include
#include
int main()
{
int x,y,z,m;

printf("請輸入兩個數:\n");
scanf("%d %d",&x,&y);
m=x*y;

while(y!=0)
{
{
z=x%y;
x=y;
y=z;
break;
}

if(x<0 ||y<0)
{
printf("請在輸入一次:\n");
continue;
}
}
printf("最大公因數:%d",x);
printf("最小公倍數:%d",m/x);
system("PAUSE");
return 0;
}


第二題:
2.找出一正整數所有正因數的總和,若輸入的數不是正數 ,則要重新輸入 .

拜託各位大大幫忙..在下感激不盡~

2007-01-18 12:53:50 · 1 個解答 · 發問者 lauren 1 in 電腦與網際網路 程式設計

謝謝大大喔~那個程式是我要的~但一、二題是分開的題目,
下面這個程式是第二題的嗎?有點不太了解?
do
{
printf("請輸入 n (0 < n) : ");
scanf("%d", &n);
} while (n <= 0);

i = 2; s = 1;
for (i = 2; i <= n; i )
if (n % i == 0)
s = i;

printf("因數總和 : %dn", s);

2007-01-19 05:34:08 · update #1

1 個解答

#include
#include
int main()
{
int x,y,z,m;
int i, n, s;
do
{
printf("請輸入兩個數 : ");
scanf("%d %d",&x,&y);
} while (x<=0 || y<=0);
m=x*y;
if (x {
z=x;
x=y;
y=z;
}
do
{
z=x%y;
x=y;
y=z;
} while(z!=0);
printf("最大公因數:%d\n",x);
printf("最小公倍數:%d\n",m/x);
do
{
printf("請輸入 n (0 < n) : ");
scanf("%d", &n);
} while (n <= 0);
i = 2; s = 1;
for (i = 2; i <= n; i++)
if (n % i == 0)
s += i;
printf("因數總和 : %d\n", s);
return 0;
}
如果有問題, 請來函討論. 不然, 我可能會錯失你再補充的疑點.

2007-01-19 00:49:08 · answer #1 · answered by JJ 7 · 0 0

fedest.com, questions and answers