【发布时间】:2013-12-03 16:13:05
【问题描述】:
我正在开发应该找到数组的最小和最大元素位置的程序。我写的代码找到了最大和最小的元素,但我不知道如何找到它在数组中的位置。任何提示将不胜感激。
这就是我现在所拥有的:
int main ()
{
int i;
float a[8] = {
1.90, 0.75, 3.30, 1.10, 2.00, 4.50, 0.80, 2.50
}; /* array of ints */
printf("\nValues are: \n");
for(i = 0; i < 8; i++)
printf("%.2lf\n", a[i]);
float max = a[0];
float min = a[0];
for (i = 0; i < 8; i++) {
if (a[i] > max) {
max = a[i];
} else if (a[i] < min) {
min = a[i];
}
}
printf ("Maximum element in an array : %.2f\n", max);
printf ("Minimum element in an array : %.2f\n", min);
return 0;
}
【问题讨论】:
-
利用变量来保持位置的方式类似于您在查找
max和min时所做的? -
float a[8] = { ... }; /* array of ints */O_o ?? -
我修正了你的代码缩进。但是为什么你的评论说整数数组,当它是浮点数组时?
-
您的
for循环应该从i = 1开始,因为您使用第一个元素进行初始化。 -
@JonathonReinhart:你是对的,但它会按原样工作 - 但第一次迭代将毫无意义,因为
a[i] > max或a[i] < min如果i==0不正确
标签: c