| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1446 人关注过本帖
标题:输出10个数中的最大,输出结果总是出错
只看楼主 加入收藏
tangname
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2008-11-12
收藏
 问题点数:0 回复次数:16 
输出10个数中的最大,输出结果总是出错
程序如下:

#include "stdio.h"
void main()
{
int max(int score[10]);
int a[10];
int i,c;
for(i=0;i<9;i++)
scanf("%d",&a[i]);
c=max(a);
printf("%d\n",c);
}
int max(int score[10])
{
int p=score[0];
int i;
{
for(i=0;i<9;i++)
if(score[i]>p)
p=score[i];
return(p);
}
}
搜索更多相关主题的帖子: 输出 结果 
2008-11-12 18:50
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:0 
max和系统定义的宏有冲突,改一下函数名.
for(i=0;i<9;i++)有两个地方,这句也有问题,数组元素为10个,为什么只用9个,最后一个留着做什么.    for(i=0;i<10;i++)
2008-11-12 19:07
renhongjun
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-11-10
收藏
得分:0 
#include "stdio.h"
void main()
{
int max(int score[10]);
int a[10];
int i,c;
for(i=0;i<9;i++)
   //这里把9改成10
scanf("%d",&a[i]);
c=max(a);
  // 这里把a也不对吧,a是数组的地址啊
   我也不知道怎么改
printf("%d\n",c);
}
int max(int score[10])
{
int p=score[0];
int i;
{
这里大括号去掉
for(i=0;i<9;i++)
  这里9改成10
{if(score[i]>p)
这里+大括号
p=score[i];
return(p);
}
2008-11-12 19:37
phoenixkld
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-11-10
收藏
得分:0 
#include "stdio.h"
int *xmax(int *q)
{
    int j;
    int *max=q;
    for(j=1;j<10;j++)
    {
        if(*max<*(q+j))
            max=q+j;
    }
    return max;
}
void main()
{
    int a[10],i;
    int *p=a;
    for(i=0;i<10;i++)
        scanf("%d",a[i]);
    puts(xmax(p));
}
未编译,不知道对不对,还望指正,偶也是初学……
2008-11-12 20:34
wangxingang
Rank: 1
等 级:新手上路
帖 子:27
专家分:5
注 册:2008-10-31
收藏
得分:0 
输出的结果没错啊,但你的程序只能判断9个数中最大的一个
2008-11-12 21:08
hokers
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2008-11-9
收藏
得分:0 
以前写的.

/****************************
*输入10个数打印出最大的数
*
****************************/
#include <stdio.h>

void main()
{
    int a[10],i,max;
    printf("请输入10个数: \n");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    for(i=1,max=a[0];i<10;i++)
        {
        if(max<a[i]) max=a[i];
        }
    printf("10个数中最大的是: %d\n",max);
}
2008-11-12 21:14
tangname
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2008-11-12
收藏
得分:0 
大家非常热情,感谢各位!!
恩 6楼的编译可以通过 输出结果是对的
-------------------------------------------
哦,一时太快了,没注意那个是10了。
程序没变
我只是把输入的10个数据用空格 格开就输出正确了 但是为什么用逗号格开就是输出错误的呢?
2008-11-12 21:30
szhixiang030
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-12
收藏
得分:0 
我是初学者,想问一下六楼

scanf("%d",&a[i]);
    for(i=1,max=a[0];i<10;i++)   

这个for语句中的i的值为什么从1开始呢?
2008-11-12 22:42
tangname
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2008-11-12
收藏
得分:0 
回八楼
因为 a[0]已经初定义赋值给 max 了

max=a[0];
2008-11-12 22:50
永远爱你!
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-11-7
收藏
得分:0 
a[0]已经赋给max,让max和a[1]比较,所以从1开始,不知解释的对否?????
2008-11-12 22:56
快速回复:输出10个数中的最大,输出结果总是出错
数据加载中...
 
   



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

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