求高手解题..C程序设计(第三版)

来源:百度知道 编辑:UC知道 时间:2024/05/31 09:13:28
第十章指针的习题10.3题目是这样的。
输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数:1 输入十个数 2 进行处理 3 输出10个数

要求,数组名作为实参,指针变量作为形参

^_^ 谢谢啦,做完还有分数。麻烦大家了。

void input(int* p)
{
printf("Please input 10 numbers");
for(int i = 0; i < 10; i++)
{
scanf(p + i);
}
}

void operate(int* p)
{
int indexMax = 0, indexMin = 0;
for(int i = 1; i < 10; i++)
{
if(p[i] > p[indexMax])
indexMax = i;
else if(p[i] < p[indexMin])
indexMin = i;
}
if(0 == indexMax)
{
if(9 = indexMin)
{
p[0] ^= p[9] ^= p[0] ^= p[9]; //swap
}
else
{
p[0] ^= p[indexMin] ^= p[0] ^= p[indexMin];
p[9] ^= p[indexMin] ^= p[9] ^= p[indexMin];
}
}
else if(9 == indexMin)
{
p[9] ^= p[indexMax] ^= p[9] ^= p[indexMax];
p[0] ^= p[indexMax] ^= p[0] ^= p[indexMax];
}
else
{