| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 489 人关注过本帖
标题:谁能帮我看看我的代码怎么错误的,谢谢了
只看楼主 加入收藏
nsns001
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-4-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:9 
谁能帮我看看我的代码怎么错误的,谢谢了
#include<stdio.h>
int maxi(m,n)  
int m,n;  
{  
 int i=1,t;  
    for(;i<=m&&i<=n;i++)  
 {
  if(m%i==0&&n%i==0)  
            t=i;  
 }  
    return(t);  
}  
int mini(m,n)  
int m,n;  
{
 int j;  
    if(m>=n)
  j=m;  
    else
  j=n;  
    for(;!(j%m==0&&j%n==0);j++);  
    return j;  
}  
int main()  
{
 int a,b,max,min;  
    printf("enter two number is: ");  
    scanf("%d,%d",&a,&b);  
    max=maxi(a,b);  
    min=mini(a,b);  
    printf("max=%d,min=%d\n",max,min);  
}  
为什么用vc运行之后会出现
E:\Microsoft Visual Studio\MyProjects\8点1\1.cpp(2) : error C2065: 'm' : undeclared identifier
E:\Microsoft Visual Studio\MyProjects\8点1\1.cpp(2) : error C2065: 'n' : undeclared identifier
E:\Microsoft Visual Studio\MyProjects\8点1\1.cpp(3) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
E:\Microsoft Visual Studio\MyProjects\8点1\1.cpp(3) : fatal error C1004: unexpected end of file found
搜索更多相关主题的帖子: return 
2011-04-14 15:24
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:3 
int maxi(m,n)  
int m,n;  
很明显,上面的代码是错误的。 我想, 是不是把它们放在main里好些呢,而且注意顺序。

int m,n;
int maxi(int m,int n);

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-14 15:29
autumn1202
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:64
专家分:553
注 册:2011-2-21
收藏
得分:3 
lz不是想定义变量,只是想定义函数的形参,所以
int maxi(m,n)  
int m,n;  
改成
int maxi(int m,int n)
最小公倍数函数同
很奇怪的写法,lz不会是跟别的语言混了吧
2011-04-14 15:34
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用ansic在2011-4-14 15:29:11的发言:

int maxi(m,n)  
int m,n;  
很明显,上面的代码是错误的。 我想, 是不是把它们放在main里好些呢,而且注意顺序。

int m,n;
int maxi(int m,int n);

修改后的代码,好像你的min和max搞反啦
程序代码:
root@~ #cat 5.c
#include<stdio.h>
int maxi(int m,int n) {
        int i=1,t;
        for(;i<=m&&i<=n;i++)  {
                if(m%i==0&&n%i==0)
                        t=i;
        }
    return(t);
}

int mini(int m,int n)  {
        int j;
        if(m>=n)
                j=m;
    else
                j=n;
    for(;!(j%m==0&&j%n==0);j++);
    return j;
}

int main(void)   {

        int a,b,max,min;
    printf("enter two number is: ");
    scanf("%d,%d",&a,&b);
    max=maxi(a,b);
    min=mini(a,b);
    printf("max=%d,min=%d\n",max,min);

        return 0;

}
root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-14 15:36
ddx2131
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2008-11-21
收藏
得分:3 
就是
2011-04-14 15:36
nsns001
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-4-13
收藏
得分:0 
回复 4楼 ansic
你修改的代码怎么不能运行那
2011-04-14 15:55
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
是求最大值/最小值吗?

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-14 16:07
nsns001
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-4-13
收藏
得分:0 
回复 7楼 ansic
题目描述写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。输入两个数输出最大公约数 最小公倍数样例输入6 15 样例输出3 30
能不能帮我重新编一个
2011-04-14 16:24
张春平
Rank: 3Rank: 3
来 自:北城
等 级:论坛游侠
帖 子:48
专家分:124
注 册:2010-12-2
收藏
得分:3 
我也一个函数,和你思路是一样的,但是你的有明显的错误,我发给你下:
#include<stdio.h>
int max(int a,int b)
{
    int i,t=1,k;
    k=a/2;
    for(i=2;i<=k;)
    {
        if(a%i==0&&b%i==0)
        {
            t*=i;
            a/=i;
            b/=i;
            i=2;
        }
        else i++;
    }
    return t;
}
int min(int a,int b)
{
    int i,t=1,k;
    k=a/2;
    for(i=2;i<=k;)
    {
        if(a%i==0&&b%i==0)
        {
            t*=i;
            a/=i;
            b/=i;
            i=2;
        }
        else i++;
    }
    return t*a*b;
}
main()
{
    int m,n;
    printf("输入两个正整数:\n");
    INPUT:scanf("%d%d",&m,&n);
    if(m>n)
    {
        m=m+n;
        n=m-n;
        m=m-n;
    }
    if(m==0||n==0)
    {
        printf("请重新输入两个正整数!\n");
        goto INPUT;
    }
    else if(n%m==0)
        printf("最大公约数为:%d\n最小公倍数为:%d\n",m,n);
    else
        printf("最大公约数为:%d\n最小公倍数为:%d\n",max(m,n),min(m,n));
}
2011-04-14 17:13
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用nsns001在2011-4-14 16:24:33的发言:

题目描述写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。输入两个数输出最大公约数 最小公倍数样例输入6 15 样例输出3 30
能不能帮我重新编一个


我做过的练习, 你拿去参考吧
程序代码:

root@~ #cat lx89.c
#include <stdio.h>
//求GCD
int gcd (int u,int v) {
        int temp;
        if(u<0||v<0) {
                u = -1;
                return u;
        }
        while (v!=0) {
                temp = u%v;
                u=v;
                v=temp;
        }
        return u;
}
//求LCM
int lcm (int u,int v) {
        int result;
        result=(u*v)/gcd(u,v);
        return result;
}
int main (void) {
        int u,v;
//声明函数原型
        int gcd (int u,int v);
        int lcm (int u,int v);

        printf ("Enter two digit:\n");
        scanf ("%i %i",&u,&v);
//打印结果
        printf ("Great common digit is: %i\nLeast common digit is: %i\n",gcd(u,v),lcm(u,v));
        return 0;
}
root@~ #./lx89
Enter two digit:
6 15
Great common digit is: 3
Least common digit is: 30
root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-14 17:19
快速回复:谁能帮我看看我的代码怎么错误的,谢谢了
数据加载中...
 
   



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

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