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

【ACM】1044:最小最大数兑换

2015-10-27 13:11 344 查看


题目描述

输入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 Import(int arr[])
{
int i;
for(i = 0; i < 10; ++i)
{
scanf("%d",&arr[i]);
}
}

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

void Deal(int *arr)
{
int i, k1 = 0, k2 = 0;
int max = arr[0];
int min = arr[0];
for(i = 0; i < 10; ++i)
{
if(min > arr[i])
{
min = arr[i];
k1 = i;
}
if(max < arr[i])
{
max = arr[i];
k2 = i;
}
}
if(k1 == 9 && k2 == 0)
{
arr[0] = min;
arr[9] = max;
}
else if(k1 == 0 && k2 == 9)
{
return;
}
else if(k2 == 0)
{
arr[0] = min;
arr[k1] = arr[9];
arr[9] = max;
}
else if(k1 == 9)
{
arr[9] = max;
arr[k2] = arr[0];
arr[0] = min;
}
else
{
arr[k1] = arr[0];
arr[k2] = arr[9];
arr[0] = min;
arr[9] = max;
}
}

int main()
{
int a[10] = {0};
Import(a);
Deal(a);
Show(a);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 acm