新微赢技术网

标题: 一个简单的求最大数的问题,找不出哪里有问题 [打印本页]

作者: 逊一    时间: 2009-11-3 04:01
标题: 一个简单的求最大数的问题,找不出哪里有问题
代码部分:
#include<iostream.h>
main()
{
    int a[9];
    int max;
    int b;
    cout<<"输入10个大于零的数:"<<endl;
    for(int i=0;i<=9;i++)
    {
        cin>>b;
        a=b;
    }
    for(int j;j<=9;j++)
    {
        if(max<=a[j])
            max=a[j];
    }
    cout<<max;
}

编译连接的时候没有错误,到运行时可以输入十个数。输入完以后一回车就弹出下面这样的对话框:


[[italic] 本帖最后由 小鸟向前飞 于 2008-1-23 21:03 编辑 [/italic]] 附件: 只有本站会员才能下载或查看附件,请您 登录 或 注册
作者: 红苹果校园    时间: 2009-11-3 04:01
for(int j;j<=9;j++)
作者: 江边人家    时间: 2009-11-3 04:01
int a[9];
作者: 牛牛    时间: 2009-11-3 04:01
int max=?????;



         if(max<=a[j])
            max=a[j];
作者: ご倾城↘恋    时间: 2009-11-3 04:01
能不能详细说明下
谢谢了
作者: 飞.逝﹏..    时间: 2009-11-3 04:01
#include<iostream.h>
int main()
{
    int a[10]={0};
    int max=0;
    int b;
    cout<<"输入10个大于零的数:"<<endl;
    for(int i=0;i<=9;i++)
    {
        cin>>a[i];
       // a[i]=b;
    }

    for(int j=0;j<=9;j++)
    {
        if(max<=a[j])
            max=a[j];
    }
    cout<<max;
        return 0;
}
你定义的数组小了
作者: 快乐小猪    时间: 2009-11-3 04:01
#include<iostream.h>
        
     main()
    {
        int a[10];//你定义的数组a[9]小了,它的范围是a[0]到a[8],只能装8个数
        int max;
        int b;
        cout<<"输入10个大于0的数"<<endl;
        for(int i=0;i<10;i++)
        {
            cin>>b;
            a[i]=b;
        }
        max=a[0];//你的max没有赋值就使用了
        for(int j=1;j<10;j++)//你的j没有赋值就使用了
        {
            if(max<=a[j])
                max=a[j];
        }
        cout<<max;
    }
作者: 爱你    时间: 2009-11-3 04:01
谢谢大家~
作者: √wo    时间: 2009-11-3 04:01
程序代码:
/*========================================
Must save as *.cpp, or else it is wrong.
Designer:suixin
QQ group: 21035626
Data:1-26-2008 15:30
========================================*/
#include <stdio.h>
#include <stdlib.h>
#define N 3
int max (int x, int y)
{
        return x > y ? x : y;
}

int max (int x, int y, int z)
{
        return max(max(x, y), z);
}

int max (int a, int b, int c, int d)
{
        return max(max(a, b, c), d);
}

int max (int a, int b, int c, int d, int e)
{
        return max(max(a, b, c, d), e);
}

int max (int a[], int len)
{
        int ix = 0, max = a[ix];
        for ( ; ix != len; ++ix)
        {
                if (a[ix] >= max)
                {
                        max = a[ix];
                }   
        }
        return max;
}

int main()
{
        //example1: maxterm in ten numbers
        int a, b, c, d, e, f, g, h, i, j;
        scanf("%d%d%d%d%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f, &g, &h, &i, &j);
        printf("max:%d\n", max (max(a, b, c, d, e), max(f, g, h, i, j)));
        
        //example2: maxterm in one arrary
        int n[N] = {8, 9, 10};
        printf("max:%d\n", max(n, N));
        system("pause");
        return 0;
}
      


[[italic] 本帖最后由 随心 于 2008-1-26 15:33 编辑 [/italic]]
作者: ══════    时间: 2009-11-3 04:01
int a[9]错了呀、、




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2