输入10个整数将其中最小的数与第一个数交换,把最大的数与最后一个数交换。写3个函数:
1.输入10个数;
2.进行处理;
3.输出10个数。
上篇写程序用的是两个标记,比较麻烦,如果一次只标记一个交换一个的话会比较简单。
#include<stdio.h>
void Show3(int *p)
{
for (int i = 0; i < 10; ++i)
{
printf("%d,", p[i]);
}
puts("");
}
void Swap3(int* a)
{
int t;
int Max = 0, Min = 0;
int i, j;
for (i = 1; i < 10; ++i)
{
if (a[i]<a[Min])
{
Min = i;
}
}
t = a[Min];
a[Min] = a[0];
a[0] = t;
for (j = 1; j < 10; ++j)
{
if (a[j] >a[Max])
{
Max = j;
}
}
t = a[Max];
a[Max] = a[9];
a[9] = t;
}
void main()
{
int a[10];
printf("请输入10个整数:");
for (int i = 0; i < 10; ++i)
{
scanf("%d", &a[i]);
}
Swap3(a);
Show3(a);
}
运行结果: