求助:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。

weixin_44127727 2019-03-07 12:57:22
题目:
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出:
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
求助:为什么运行总是显示错误50%?
代码部分:

#include <stdio.h>
#include <string.h>
void sca( int a[] );
void swap(int a[]);
void pri(int a[]);

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

void swap(int a[]){
int minval;
int maxval;
int i,t,k;
i = 0;
int temp;
minval = a[i];
maxval = a[i];
for ( i = 0 ; i < 10 ; i++){
if (minval > a[i]){
minval = a[i];
t = i;
}
if ( maxval < a[i]){
maxval = a[i];
k = i;
}

}
a[t] = a[0];
a[0] = minval;
a[k] = a[9];
a[9] = maxval;
}

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

int main (){
int a[10];
sca(a);
swap(a);
pri(a);
return 0;
}


...全文
292 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
636f6c696e 2019-03-07
  • 打赏
  • 举报
回复
边界场景考虑不足,maxval和minval没有初始化,导致a[0]是最大值a或最小值场景下出现异常
bug10086 2019-03-07
  • 打赏
  • 举报
回复
函数没有返回值,调用函数结束了就没有用了

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧