| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2124 人关注过本帖
标题:初学者,遇到问题请教。(输入十个数,求最大数并输出)
只看楼主 加入收藏
lygdsn
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-2-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:35 
初学者,遇到问题请教。(输入十个数,求最大数并输出)
我的基本思路是:
1、定义一个变量i;定义一个数组a[10],
2、输入十个数。
3、如果a[i]>a[i+1],则a[i]=>a[i+1]
4、i+1=>i;
最后a[i+1]应该是最大的。打印出a[i+1]

图片附件: 游客没有浏览图片的权限,请 登录注册

请朋友给我看看,我这里哪里出错了。现在运行结果是0。我在中间打印数组的那句,运行结果是a[i]=72。
搜索更多相关主题的帖子: 朋友 
2011-02-15 16:57
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:1 
if 改 while , a[10] 改 a[11]
2011-02-15 17:01
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
程序代码:
#include <stdio.h>

int main (void) {

        int a[10],i;

        printf ("Enter 10 number in array:\n");

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

                scanf ("%i",&a[i]);

        }

        int max=a[0];    //假设一个最大值

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

                if(a[i]>max) {   

                        max=a[i];
                }

        }

        printf ("Max number is %i",max);

        return 0;

}


[ 本帖最后由 ansic 于 2011-2-15 17:09 编辑 ]

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-02-15 17:06
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
改进了改进, 省掉了一个循环。供楼主参考。
程序代码:
#include <stdio.h>

int main (void) {

        int a[10],i,max=0;

        printf ("Enter 10 number in array:\n");

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

                scanf ("%i",&a[i]);

                if(a[i]>max) { max=a[i]; } //这里判断max

        }

        printf ("Max number is %i",max);

        return 0;

}


善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-02-15 17:17
CCFzeroOH
Rank: 2
等 级:论坛游民
帖 子:79
专家分:85
注 册:2009-12-22
收藏
得分:1 
要是只求最大数并输出,不进行排序
4楼是最好的
2011-02-16 09:27
lygdsn
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-2-15
收藏
得分:0 
4楼的朋友,我将你的代码测试了一下,输入两次10个不同的数,结果输出的都是3129。也是不对的。
2011-02-16 09:37
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:1 

#include <stdio.h>

int main (void) {

        int a[10],i,max=0;

        printf ("Enter 10 number in array:\n");

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

                scanf ("%i",&a[i]);     //应该是scanf ("%d",&a[i]);

                if(a[i]>max) { max=a[i]; } //这里判断max

        }

        printf ("Max number is %i",max);

        return 0;

}
程序代码:
#include <stdio.h>

int main (void) {

        int a,i,max=0;

        printf ("Enter 10 number in array:\n");

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

                scanf ("%d",&a);

                if(a>max) { max=a; } //这里判断max

        }

        printf ("Max number is %i",max);

        return 0;

}
可以不用数组就能解决

小代码,大智慧
2011-02-16 09:47
lygdsn
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-2-15
收藏
得分:0 
7楼的朋友谢谢您,可是你个程序代码也不对,输出的最大值是,输入的第一个数。
2011-02-16 10:11
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:1 
#include <stdio.h>

int main(void)
{
    float a[10];
    float max;
    int i;

    for(i = 0; i < 10; ++i)
        scanf("%5f", &a[i]);

    max = a[0];
    for(i = 0; i < 10; ++i)
        if(a[i] > max)
            max = a[i];

    printf("max = %g\n", max);

    return 0;
}

勤能补拙,熟能生巧!
2011-02-16 10:53
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用lygdsn在2011-2-16 09:37:11的发言:

4楼的朋友,我将你的代码测试了一下,输入两次10个不同的数,结果输出的都是3129。也是不对的。

不会吧, 我是测试通过的。见测试:

root@yeah ~
$ ./max
Enter 10 number in array:
1234
2
3
4
5
6
4
3
1231
-123
Max number is 1234
root@yeah ~
$ ./max
Enter 10 number in array:
213423
3
234
53
234
3
3
3
45
6
Max number is 213423
root@yeah ~
$

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-02-16 10:55
快速回复:初学者,遇到问题请教。(输入十个数,求最大数并输出)
数据加载中...
 
   



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

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