| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:帮我修改程序
只看楼主 加入收藏
chinnaling
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-1-4
收藏
 问题点数:0 回复次数:7 
帮我修改程序
小妹学C已两周有余,可是发现自己写的程序总比别人长,望大哥哥大姐姐们帮我修改此程序后再帮我优化一下,谢谢啦

输入两个正整数m和n,求其最大公约数和最小公倍数。
main()
{
int m,n,t1,t2,k,a=0;
scanf("%d%d",&m,&n);
for(k=2,k<=(m>n?n:m),k++)
{t1=m%k; t2=n%k;
  if(t1==0&&t2==0) a=k;
}
if(a=0) printf("m和n没有公约数");
else print("m和n的最大公约数为:%d\n",a);
for(k=1,,k++)
{ t1=(k*m)%n;
   if(t1==0)
    { a=k*m;
     break;
    }
  }
  printf("m和n的最小公倍数为:%d\n",a);
}

[此贴子已经被作者于2005-1-7 11:52:32编辑过]


搜索更多相关主题的帖子: 最小公倍数 公约数 正整数 哥哥 
2005-01-07 11:50
FlyHorse
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-11-6
收藏
得分:0 
不要求一定做到最好,只要求尽量做到最好。

程序存在错误,for 语句的语法有错,除此之外,我觉得程序按预期结果实现了就挺好的了,没有必要非简不可。

#include #include void main(void) { cprintf(\"I love program.\"); getch(); }
2005-01-07 13:04
chinnaling
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-1-4
收藏
得分:0 
非常感谢,呵呵

2005-01-07 13:07
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
收藏
得分:0 
回复:(idealistic33)#includeint...
以下是引用idealistic33在2005-1-9 2:23:41的发言:

#include<stdio.h>

int CommonDivisor(int m, int n) /*公约数*/ { if(n==0) return -1; /*0 错*/ if(m%n == 0) return n; else { return CommonDivisor(n, m%n); } }

void main() { int i,j,t; scanf("%d,%d",&i,&j); /*逗号隔开输入*/ if(i>j) { t=CommonDivisor(i, j); } else { t=CommonDivisor(j, i); } printf("CommonDivisor: %d\nCommonMultiple: %d\n",t,(i*j)/t); }

[此贴子已经被作者于2005-1-10 21:47:25编辑过]


2005-01-10 21:46
amzyb
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2005-1-10
收藏
得分:0 
#include &lt;stdio.h&gt;
#include &lt;math.h&gt;
void main(){
 int j;
 int m,n;
 int t1,t2,k;
 int a,b;
 a=b=0;
 printf("Please input two numbers:\n");
 scanf("%d%d",&amp;m,&amp;n);
 j=(m&gt;n)? m:n;
 for(k=2;k&lt;=j;k++){
  t1=m%k; t2=n%k;
  if(t1==0&amp;&amp;t2==0) a=k;
  break;
  }
 if(a==0) printf("m和n没有公约数为\n");
 else printf("m和n的最大公约数为:%d\n",a);
 for(k=1;k&lt;=n;k++){
  t1=(k*m)%n;
  if(t1==0){
   b=k*m;
   break;
  }
 }
  printf("m和n的最小公倍数为:%d\n",b);
}
我稍微修改了一下就得到正确结果了!
刚学两周就写这样,真的很佩服了!:)
要是注意一下一些语句的格式会更棒的!
2005-01-10 22:59
新的每日C
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-1-11
收藏
得分:0 
main()
{
int m,n,p,r,g;
scanf("%d,%d",&amp;n,&amp;m);
p=m*n;
while(n!=0)
{
r=m%n;
m=n;
n=r;
}
g=p/m;
printf("%d,%d",m,g) ;
}
2005-01-11 21:06
快速回复:帮我修改程序
数据加载中...
 
   



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

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