链表 ,有点忘了 汗 大侠指点下
程序代码:#include<stdio.h>
#include<stdlib.h>
struct data
{
int m,n;
int min;
struct data *next;
};
int main()
{
struct data *p,*head;
int a,t;
p=(struct data *)malloc(sizeof(struct data));
head=p;
scanf("%d%d",&p->m,&p->n);
while(p->m!=0&&p->n!=0)
{
p=p->next;
scanf("%d%d",&p->m,&p->n);
}
p->next=NULL;
p=head;
while(p)
{
if(p->m<p->n)
{
t=p->m;
p->m=p->n;
p->n=t;
}
p->min=p->m*p->n;
while(p->n)
{
a=p->m%p->n;
p->m=p->n;
p->n=a;
}
p->min=p->min/p->m;
printf("%d\n",p->min);
p=p->next;
}
p=head;
while(p)
{
free(p);
p=p->next;
}
return 0;
}
稍改了下,还是有问题问题是输入若干组数据以0 0结束,输出其最小公倍数形如
4 6
10 25
0 0然后输出
程序代码:#include<stdio.h>
#include<stdlib.h>
struct data
{
int m,n;
int min;
struct data *next;
};
int main()
{
struct data *p,*head;
int a,t;
p=(struct data *)malloc(sizeof(struct data));
head=p;
scanf("%d%d",&p->m,&p->n);
while(p->m!=0&&p->n!=0)
{
p=p->next;
scanf("%d%d",&p->m,&p->n);
}
p->next=NULL;
p=head;
while(p)
{
if(p->m<p->n)
{
t=p->m;
p->m=p->n;
p->n=t;
}
p->min=p->m*p->n;
while(p->n)
{
a=p->m%p->n;
p->m=p->n;
p->n=a;
}
p->min=p->min/p->m;
printf("%d\n",p->min);
p=p->next;
}
p=head;
while(p)
{
free(p);
p=p->next;
}
return 0;
}
稍改了下,还是有问题问题是输入若干组数据以0 0结束,输出其最小公倍数形如
4 6
10 25
0 0然后输出
[ 本帖最后由 烟雾中的迷茫 于 2011-12-26 18:51 编辑 ]








