输入十个数,求这十个数中的最大数和这个数是第几个数
程序员文章站
2024-01-30 23:30:28
...
输入十个数,求着十个数中的最大数和这个数是第几个数
思路:
定义一个长度为10 的数组,存放着十个数,定义一个比较两个数大小的函数,在主函数中定义最大值m初始为第一个数组元素,定义n代表数组的序号,如果后一个比最大的数大则改变m,。用“打擂台”算法arr[1]到arr[9]依次与m进行比较,最后得到m,第几个元素就是数组序号+1。
#include <stdio.h>
//输入十个数,求着十个数中的最大数和这个数是第几个数
int max(int a, int b); //函数声明
int main() {
int arr[10], i;
int m;
int n;
printf("please input ten number \n");
for (i = 0; i < 10; i++) { //输入十个数存放在arr中
scanf("%d", &arr[i]);
}
for (i = 1, n = 0, m = arr[0]; i < 10; i++) {
if (max(arr[i], m) > m) { //函数调用
m = max(arr[i], m);
n = i; //将缘故的序号存放在n中
}
}
printf("the largest number is %d\nit is %dth number\n", m, n + 1); //第几个数是在序号上加一
return 0;
}
int max(int a, int b) { //比较两个数的最大值函数
int mm = 0;
if (a > b) {
mm = a;
} else {
mm = b;
}
return mm;
}
结果
please input ten number
1 2 4 3 6 5 8 9 0 55
the largest number is 55
it is 10th number
上一篇: 正数与负数个数相等的最长子数组
下一篇: 泛型的特点