| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 759 人关注过本帖
标题:求大神纠错,是求输入一维数组的十个数,并将最大值与最后一个交换,最小值 ...
只看楼主 加入收藏
小故事
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
求大神纠错,是求输入一维数组的十个数,并将最大值与最后一个交换,最小值与第一个交换,最后输出这十个数。
#include <stdio.h>

int main(  )
{
    int a[10],i,j,k,t;
    for(i=0;i<10;i++)
    max=a[i];
    for(j=i+1;j<10;j++)
    {
        if(a[j]>a[k])
        k=j;
    }
    t=a[9];
    a[9]=a[k];
    for(i=0;i<10;i++)
    min=a[i];
    for(j=i+1;j<10;j++)
    {
        if(a[j]<a[i])
        k=j;
    }
    t=a[0];
    a[0]=a[k];
    for(i=0;i<10;i++)
    printf("%d",a[10]);
    return 0;
}
搜索更多相关主题的帖子: include 最大值 
2014-05-20 17:32
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:8 
都不见scanf你用什么来输入呢

DO IT YOURSELF !
2014-05-20 17:47
小故事
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-14
收藏
得分:0 
回复 楼主 小故事
#include <stdio.h>

int main(  )
{
    int a[10],i,j,k,t;
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    max=a[i];
    for(j=i+1;j<10;j++)
    {
        if(a[j]>a[k])
        k=j;
    }
    t=a[9];
    a[9]=a[k];
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    min=a[i];
    for(j=i+1;j<10;j++)
    {
        if(a[j]<a[i])
        k=j;
    }
    t=a[0];
    a[0]=a[k];
    for(i=0;i<10;i++)
    printf("%d",a[10]);
    return 0;
}
我改了,是不是还有错误,还是改的不对呀?请大神指教。
2014-05-20 17:51
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:1 
这一类可说是坑爹的题,要注意最大值和最小值恰好在第一个和最后一个位置上。
2014-05-20 17:59
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:1 
楼主前面的代码就不看了,后面的代码可说是逻辑不清,没有理解语句及变量的作用。
2014-05-20 18:03
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:7 
#include <stdio.h>

int main( void )
{
    int a[10];
    int i;
    int index_max, index_min, t;

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

    index_max = index_min = 0;
    for ( i = 1; i < 10; i++ ) {
        if ( a[i] > a[index_max] )
            index_max = i;
        if ( a[i] < a[index_min] )
            index_min = i;
    }

    t = a[9];
    a[9] = a[index_max];
    a[index_max] = t;
    if ( index_min == 9 )
        index_min = index_max;
    t = a[0];
    a[0] = a[index_min];
    a[index_min] = t;

    for ( i = 0; i < 10; i++ )
        printf( "%d,", a[i] );

    return 0;
}
2014-05-20 18:17
ljjin1314520
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2014-5-20
收藏
得分:3 
楼主还得好好看看书本。。逻辑还不是很清晰
2014-05-20 22:39
快速回复:求大神纠错,是求输入一维数组的十个数,并将最大值与最后一个交换,最 ...
数据加载中...
 
   



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

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