F1:调用函数,
#include <stdio.h>
test(int arr[])
{
int i = 0;
//t用来当中间变量存放arr[i]
int t = 1;
for (i = 1; i < 10; i++)
{
if (arr[0] < arr[i])
{
t = arr[i];
arr[i] = arr[0];
arr[0] = t;
}
}
return arr[0];
}
int main()
{
int arr[10] = { 1,2,3,10,4,6,5,8,7,9 };
//ret用来接收返回的arr[0]
int ret = test(arr);
printf("%d\n", ret);
return 0;
}
F2:通过找到最大值的下角标找到最大值
#include <stdio.h>
int main()
{
int arr[10] = { 1,2,3,10,5,7,6,4,9,8 };
int i = 0;
//通过用户输入最大值,程序帮忙找到下角标
printf("最大值是:");
scanf_s("%d", &i);
int j = 0;
int left = 0;
int right = 9;
for (j = 0; j < 10; j++)
{
int mid = (left + right) / 2;
if (arr[mid] < i);
{
left = mid + 1;
}
if (arr[mid] > i)
{
right = mid - 1;
}
else
{
printf("找到了,下角标是:%d,最大值是:%d", mid, arr[mid-1]);
break;
}
}
return 0;
}
F3:F1的正常顺序求法
#include <stdio.h>
int main()
{
int arr[10] = {1, 2, 10, 5, 4, 6, 8, 7, 9, 3};
int left = 0;
int right = 9;
int t = 1;
while (left <= right)
{
if (arr[left] < arr[right])
{
t = arr[left];
arr[left] = arr[right];
arr[right] = t;
}
right--;
}
printf("%d", arr[left]);
return 0;
}
F4:假定最大值
#include <stdio.h>
int main()
{
int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };
//假定第一个元素是最大值,如果小于后一位,将后一位赋给第一位
int max = arr[0];
int i = 1;
for(i = 1; i < 10; i++)
{
if (max < arr[i])
{
max = arr[i];
}
}
printf("%d\n", max);
return 0;
}
F4:假定最大值,自定义数组值
#include <stdio.h>
int main()
{
int arr[10] = { 0 };
int i = 0;
for (i = 0; i < 10; i++)
{
scanf_s("%d", &arr[i]);
}
int max = arr[0];
int j = 1;
for (j = 1; j < 10; j++)
{
if (max < arr[j])
{
max = arr[j];
}
}
printf("%d\n", max);
return 0;
}