标题:想知道为啥一直运行错误
只看楼主
goosey
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-4-7
结帖率:71.43%
已结贴  问题点数:2 回复次数:5 
想知道为啥一直运行错误
题目如下
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
1 2 3 4 5 6 7 8 9 10

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

void input(int a[10]){
    int i;
    for(i=0;i<10;i++) scanf("%d",&a[i]);
}

void exchange(int a[10]){
    int i,temp,big,small;
    int min=a[0];
    int max=a[0];
    for(i=0;i<10;i++){
        if(a[i]>max) { max=a[i]; big=i; }
        if(a[i]<min) { min=a[i]; small=i; }
    }
    temp=a[0];
    a[0]=a[small];
    a[small]=temp;//交换第一个数和最小的数 
    
    temp=a[9];
    a[9]=a[big];
    a[big]=temp; //交换最后一个数和最大的数 
}

void output(int a[10]){
    int i;
    for(i=0;i<10;i++) printf("%d ",a[i]);
    printf("\n");
} 

int main(){
    int a[10];
    input(a);
    exchange(a);
    output(a);
    return 0;
}
搜索更多相关主题的帖子: 输入 一个数 个数 int temp 
2018-05-23 21:23
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:1 
你是说将最小的放在第一位,最大的放在最后一位,其他的不管了,是吗?
2018-05-23 21:29
nosnoy
Rank: 9Rank: 9Rank: 9
来 自:mcu
等 级:贵宾
威 望:14
帖 子:540
专家分:1158
注 册:2016-9-17
得分:1 
运行没错 如果是按照你的意思的话,

如果要从小到大依次排列考虑冒泡排序法

穷举是最暴力的美学
2018-05-23 21:41
lj1244519783
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2018-5-25
得分:1 
你这个循环没有到位,在main语句里面只是引用了一次循环子函数
2018-05-25 09:03
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:1 
不要同时处理 交换最大和交换最小
先完成一次交换 重新查找 再进行交换
考虑一种情况
a[0] 最大
a[4] 最小
你交换了 最小 a[0] 和 a[4]
这时候 a[0]变成了最小
但你的代码还是把a[0]当成最大 交换给 a[9]
结果 a[0] 不是最小 a[9]本来应该是最大现在是最小
GG


https://zh.
2018-05-25 09:23
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
如果原数据是:10  9  8  7  6  5  4  3  2  1
那么交换后是这样的吗:1  9  8  7  6  5  4  3  2  10
2018-05-25 11:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487215-1-1.html




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

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