| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1716 人关注过本帖
标题:求问,貌似错的很离谱的一个简单程序 可以看下嘛 感谢
只看楼主 加入收藏
吕宏
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2016-4-12
结帖率:86.67%
收藏
已结贴  问题点数:20 回复次数:4 
求问,貌似错的很离谱的一个简单程序 可以看下嘛 感谢
#include<stdio.h>
/*求最大公约数和最小公倍数*/
int mian ()
{
   
    int a, b, c, m, n;
    scanf("%d%d",&m,&n);
    if(m==0&&n==0)
     break;
   
     {
         a=m;
         b=n;
         c=n%m;
         n=m;
         m=c;
     }
    printf("%d%d\n",n,(a*b/n));
   
   
return 0;
}
问题是输入两个数输出最小公倍数和最大公约数
      输入0时 程序停止运行
但是貌似错的很离谱
搜索更多相关主题的帖子: 最小公倍数 include return 公约数 
2016-04-14 21:19
吕宏
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2016-4-12
收藏
得分:0 
#include<stdio.h>
 /*求最大公约数和最小公倍数*/
int mian ()
 {
     int a, b, c, m, n;
     scanf("%d%d",&m,&n);
     if(m>n)
         { a=m;
          b=n;
          c=m%n;
          m=n;
          n=c;
          printf("%d%d\n",m,(a*b/m));
          }
     else if(m=n)
          printf("%d%d",m,n)
          else if(m==0||n==0)
          break;
 }

error C2143: syntax error : missing ';' before 'else'
error C2043: illegal break
是这样,求指点
2016-04-14 21:39
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:10 
if(m==0&&n==0)
     break;

if语句用break什么意思?break只能用于循环或switch语句。
int mian ()

main
程序代码:
#include<stdio.h>
/*求最大公约数和最小公倍数*/
int main ()
{
    int /*a, b, c, */m, n;
    scanf("%d%d",&m,&n);
    if(m==0&&n==0)
       return 1;
    int gcd(int,int);
    t=gcd(m,n);
    printf("%d%d\n",t,m*n/t);
    return 0;
}
int gcd(int a,int b)
{
  int c;
  if (a<b)
 {
    int t=a;
    a=b;
    b=t;
  }
 while(b!=0)
 {
  c = a % b;
  a = b;

   b = c;
 }
 return a;
}

未佩好剑,转身便已是江湖
2016-04-14 21:44
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
回复 2楼 吕宏
int main..你写成mian了
2016-04-15 08:26
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:10 
int main()
{    int a,b,t,j,gys,gbs;
    printf("请输入任意两个数\n");
    scanf("%d %d",&a,&b);
    while(0)
    if(a==0 || b==0)
    {
        printf("请重新输入两个数\n");
        return 0;
    }
   
    else if(a<b)
    {    t=a;    a=b;    b=t;
    }
    for(j=1;j<=b;j++)
    {    if(a%j==0&&b%j==0)
        gys=j;
    }
    gbs=(a*b)/gys;
    printf("最大公约数为 %d\n最小公倍数为 %d\n",gys,gbs);
    return 0;
}
2016-04-15 21:07
快速回复:求问,貌似错的很离谱的一个简单程序 可以看下嘛 感谢
数据加载中...
 
   



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

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