链表 ,有点忘了 汗 大侠指点下
程序代码:
#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 编辑 ]