| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖
标题:看了半天也没找出哪错了
只看楼主 加入收藏
Imtheone
Rank: 2
等 级:论坛游民
帖 子:78
专家分:34
注 册:2010-4-23
结帖率:5.26%
收藏
已结贴  问题点数:20 回复次数:8 
看了半天也没找出哪错了
#include"stdio.h"
int max(int x[10])
{
    int i,m;
    m=x[0];
    for(i=1;i<10;i++)
    {
        if(m < x[i]) m = x[i];
    }
    return m;
}
main()
{
    int a[10],i;
    printf("Enter 10 integre:\n");
    for(i=1;i<10;i++)
       scanf("%d",&a[i]);
    printf("Max is %d",max(a));
}
很简单的一个程序
出现的是乱码
帮忙看看咋回事啊
搜索更多相关主题的帖子: include 
2010-10-12 20:41
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:2 
main函数里面的:
for(i=1;i<10;i++) 改 for(i=0;i<10;i++)

那个子函数的不用改

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-10-12 20:50
system3288
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:79
专家分:140
注 册:2010-10-9
收藏
得分:2 
你使用了std,而max是定义在这个名字空间的
 标示符max已经在STL中被定义过,如果你想用相同的函数名,就需要重载一下,或者换一个名字
int Max(int x[10])
{
    int i,m;
    m=x[0];
    for(i=0;i<10;i++)
    {
        if(m < x[i]) m = x[i];
    }
    return m;
}
int _tmain(int argc, _TCHAR* argv[])
{   
    int a[10],i;
    printf("Enter 10 integre:\n");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    printf("Max is %d",Max(a));

    system("pause");
    return 0;
}
我只改了你的函数名,运行得很成功。
2010-10-12 22:30
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
以下是引用system3288在2010-10-12 22:30:56的发言:

你使用了std,而max是定义在这个名字空间的
 标示符max已经在STL中被定义过,如果你想用相同的函数名,就需要重载一下,或者换一个名字
int Max(int x[10])
{
    int i,m;
    m=x[0];
    for(i=0;i<10;i++)
    {
        if(m < x) m = x;
    }
    return m;
}
int _tmain(int argc, _TCHAR* argv[])
{   
    int a[10],i;
    printf("Enter 10 integre:\n");
    for(i=0;i<10;i++)
        scanf("%d",&a);
    printf("Max is %d",Max(a));

    system("pause");
    return 0;
}
我只改了你的函数名,运行得很成功。

你改的不止是函数名,你的循环起始值也改了

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-10-12 22:51
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:2 
高手 哈
2010-10-12 22:53
liqingyang
Rank: 2
等 级:论坛游民
帖 子:47
专家分:39
注 册:2010-2-24
收藏
得分:2 
你的程序在我机器上运行正常呀,没有问题。不过我觉得2楼说的对,主函数里的改成:

for(i=0;i<10;i++)

比较好,你那样写看着别扭

顺便告诉楼主,我用TC++3。0测试的,就是疑思科技出的那个。
2010-10-12 22:58
剑子与剑痴
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2010-10-7
收藏
得分:2 
程序代码:
#include"stdio.h"
#define LEN 10
int max(int x[])
{
    int i,m;
    m=x[0];
    for(i=0;i<LEN;i++)
    {
        if(m < x[i]) m = x[i];
    }
    return m;
}
main()
{
    int a[LEN],i;
    printf("Enter 10 integre:\n");
    for(i=0;i<LEN;i++)
       scanf("%d",&a[i]);
    printf("Max is %d",max(a));
}
int max(int x[])  传递数组时[]里的参数会被忽略的(我记得书上是这样说的,运行LZ的程序又好似可以)
2010-10-12 23:44
sunmingchun
Rank: 4
来 自:安徽-滁州
等 级:业余侠客
帖 子:198
专家分:277
注 册:2010-4-2
收藏
得分:2 
#include"stdio.h"
int max(int x[10])
{
    int i,m;
    m=x[0];
    for(i=1;i<10;i++)
    {
        if(m < x[i])
            m = x[i];
    }
    return m;
}
main()
{
    int a[10],i;
    printf("Enter 10 integre:\n");
    for(i=0;i<10;i++)
       scanf("%d",&a[i]);
    printf("Max is %d",max(a));
}
2010-10-13 08:53
阿全
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2010-9-8
收藏
得分:2 
就是for循环的i初始化给错了,应该初始化为零

#include"stdio.h"
#include<stdlib.h>
int max(int x[10])
{
    int i,m;
    m=x[0];
    for(i=1;i<10;i++)
    {
        if(m <= x[i])
         m = x[i];
    }
    return m;
}
int main()
{
    int a[10],i;
    printf("Enter 10 integre:\n");
    for(i=0;i<10;i++)
       scanf("%d",&a[i]);
    printf("Max is %d",max(a));
    system("pause");
    return 0;
}
2010-10-17 18:46
快速回复:看了半天也没找出哪错了
数据加载中...
 
   



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

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