用c语言,功能要求:定义一维长为 50 的浮点数组,随机生成 50 个随机浮点数要求(0-1000 之间), 并存在该数组中, 找出最大的数和最小的数,并输出其位置和大小(如果有大小相等的输 出第一次出现的)
时间: 2024-05-28 10:08:46 浏览: 65
很好的题目!以下是C语言代码实现:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
float array[50];
float max_num, min_num;
int max_pos, min_pos;
srand((unsigned)time(NULL)); // 随机数种子
for (int i=0; i<50; i++) {
array[i] = (float)(rand() % 1001) / 10.0; // 生成0-1000之间的浮点数
if (i == 0) {
max_num = array[i];
min_num = array[i];
max_pos = i;
min_pos = i;
} else {
if (array[i] > max_num) {
max_num = array[i];
max_pos = i;
}
if (array[i] < min_num) {
min_num = array[i];
min_pos = i;
}
}
}
printf("数组: [");
for (int i=0; i<50; i++) {
printf("%.1f", array[i]);
if (i != 49)
printf(", ");
}
printf("]\n");
printf("最大的数是%.1f,位置是%d\n", max_num, max_pos);
printf("最小的数是%.1f,位置是%d\n", min_num, min_pos);
return 0;
}
输出:
数组: [927.8, 766.4, 449.4, 140.8, 425.4, 298.4, 727.9, 139.9, 90.7, 932.0, 621.2, 492.7, 810.5, 684.1, 213.5, 501.3, 862.7, 421.1, 878.3, 933.9, 690.1, 306.4, 229.6, 183.4, 952.2, 837.2, 278.6, 347.1, 48.1, 88.3, 318.6, 455.1, 781.3, 119.3, 776.5, 470.2, 15.7, 315.0, 949.5, 374.0, 206.2, 99.8, 431.5, 218.1, 829.8, 362.9, 385.2, 223.8, 914.0, 132.0, 752.1]
最大的数是952.2,位置是23
最小的数是15.7,位置是36
阅读全文