您的位置:首页 > 编程语言 > C语言/C++

(c++)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。 注意:不是排序!不是排序!

2017-01-22 15:24 1511 查看
#include<iostream>
using namespace std;
void enter(int *m)
{
for(int i=0;i<10;i++)
cin>>m[i];
}
void key(int *m)
{
int max=m[0],min=m[0],n=0,k=0,z;
for(int i=1;i<10;i++)
{
if(max<m[i])
{
max=m[i];
n=i;
}
}
for(int i=1;i<10;i++)
{
if(min>m[i])
{
min=m[i];
k=i;
}
}
if(n==0&&k==9)
{
z=m[0];m[0]=m[9];m[9]=z;
}
else if(n==0&&k!=9)
{
z=m[9];m[9]=m
;m
=z;
z=m[0];m[0]=m[k];m[k]=z;
}
else
{
z=m[0];m[0]=m[k];m[k]=z;
z=m[9];m[9]=m
;m
=z;
}
}
void print(int *m)
{
for(int i=0;i<10;i++)
cout<<m[i]<<' ';
}
int main()
{
int ans[10];
enter(ans);
key(ans);
print(ans);
return 0;
}

这一题,我表示即将崩溃,我一直不知道自己错在哪儿,试了半天才发现是互换的顺序有问题,当最大值在第一位,或者最小值在最后一位时,要用不同的交换顺序,真是坑爹啊......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM c++语言 编程
相关文章推荐