综述:
本题总体中规中矩,只有一个问题,就是打印第一个最大数的下标,当输入一串数字的时候可能最大的那个数字不止一个,那么当我们找到第一个最大数的时候就可以打印最大数以及下标了。
题目:
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
输入样例:
6
2 8 10 1 9 10
输出样例:
10 2
如何做?
做法比较简单,输入一串数字之后,直接for循环遍历输入的每一个数,然后在for循环里面在嵌套一层for循环用来使当前的数与数组内其他的数值所比较,如果发现当前数小于输入的其他的数直接跳出内层for循环,如果内层for循环的条件不成立,那么说明当前值就是最大的值,这时内层for循环的值为n,在外层判断一下,内层的循环变量是否等于n,如果等于就跳出外层for循环,然后打印数值和下标就OK啦
代码:
#include <stdio.h>
int main()
{
int n = 0;
int arr[10] = { 0 };
scanf("%d", &n);
int i = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
for (i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j < n; j++)
{
if (arr[i] < arr[j])
{
break;
}
}
if (j == n)
{
printf("%d %d", arr[i], i);
break;
}
}
return 0;
}
总结:
比较中规中矩的题,今天晚上刷了几道题,比这个还不如,保持写写博客也只能写这个啦。