实现内容:
输入10个浮点数,将其中最小的数与第一个数交换,最大的数与最后一个数交换。
代码部分:
#include<stdio.h>
int main()
{
void swap(float* p1, float* p2);
printf("请输入10个浮点数(用空格隔开):");
float a[10], max, min, temp, * p;
int i, m = 0, n = 0;
for (i = 0; i < 10; i++)
{
scanf("%f", &a[i]);
if (i == 0)
{
max = a[i];
min = a[i];
}
if (i > 0)
{
if (a[i] > max)
{
max = a[i];
m = i;
}
if (a[i] < min)
{
min = a[i];
n = i;
}
}
}
p = a;
swap(p + n, p);
swap(p + m, p + 9);
printf("交换后的顺序为:");
for (i = 0; i < 10; i++)
{
printf("%.2f ", a[i]);
}
return 0;
}
void swap(float* p1, float* p2)
{
float temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
运行结果: