#include
using namespace std;
int main(int argc, char *argv[])
{
int array[10] = {6,5,0,1,8,9,7,2,4,3};
int min,max,p_min,p_max,temp;
cout<<"交换前:";
for(int i = 0;i < 10;i++)
{
cout<}
cout<
for(int k = 0;k < 2;k++)
{
if(k == 0) //第一次比较找出最小数
{
min = array[0];
for(int i = 1;i <= 9;i++)
{
if(min > array[i])
{
min = array[i];
p_min = i; //记录最小数位置
}
}
}
else //第二次比较找出最大数
{
max = array[0];
for(int i = 1;i <= 9;i++)
{
if(max < array[i])
{
max = array[i];
p_max = i; //记录最大数位置
}
}
}
}
cout<<"min="<cout<<"max="<
if(p_min != 0)
{
temp = array[p_min];
array[p_min] = array[0];
array[0] = temp;
}
if(p_max != 9)
{
temp = array[p_max];
array[p_max] = array[9];
array[9] = temp;
}
cout<<"交换后:";
for(int i = 0;i < 10;i++)
{
cout<}
cout<
return 0;
}
运行结果:
给思路吧 用一个数组存输入的10个数,然后循环数组得到最大值和最小值的位置(即数字下标),然后做两数交换就可以了之后在重新输出
#include
using namespace std;
int main()
{
int a[10],min=0,max=0;
for(int i=0;i<10;i++)
{
cin >> a[i];
if (a[min] > a[i]) min=i;
if (a[max] < a[i]) max=i;
}
int b=a[min];
a[min]=a[0];
a[0]=b;
b=a[max];
a[max]=a[9];
a[9]=b;
for(int i=0;i<10;i++)
cout << a[i] << ' ';
return 0;
}