【C语言-10】.求10 个整数中最大值。 (数组定义法和函数调用法)
数组定义法
- 首先定义一个一维数组存放输入的数字,然后将键盘输入的数字依次存入一维数组;
- 假定数组中某一元素为最大值,将其与其他元素逐一比较,得到最大的数为max值;
- 最后得到的max为十个数里的最大值;
- 代码如下:
#include<stdio.h>
#include<windows.h>
int main() {
int i = 0;
int max = 0;
int arr[10] = { 0 };//定义一个数组,初始值为0;
printf("请输入10个整数:");
for (i = 0; i <= 9; i++)
{
scanf_s("%d", &arr[i]);//将10个值依次装入数组;
}
max = arr[1];//假定组里一个数是最大值;
for (i = 1; i <= 9; i++)
{
if (arr[i] > max)
{
max = arr[i];//逐一比较,将最大值放在max里;
}
}
printf("最大值d", max);
return 0;
}
5.编译运行结果如下:
函数调用法
- 定义一个数组,长度为10,用来存放10个数;
- 设计一个函数max,用来求两个数中的最大数,在主函数中定义一个变量m,m的初值为a[0],每次调用max函数后的返回值存在m中,用“打擂台”算法,依次将数组元素a[1]到a[9]与m比较,最后得到的返回值就是10个数里的最大者。
- 代码如下:
#include<stdio.h> int main() { int max(int x, int y); int arr[10], m, n, i; printf("请输入10个整数:"); for (i = 0; i <10; i++) scanf("%d", &arr[i]);//将10个值依次装入数组; printf("\n"); for (i = 1, m = arr[0], n = 0; i < 10; i++) { if (max(m, arr[i]) > m) { m = max(m, arr[i]); n = i; } } printf("最大数为:%d", m); } int max(int x, int y) { return (x > y ? x : y); }