编程实现:在主函数中定义一个有10个元素的float数组a并全部元素初始化为0。调用rand_array()函数实现数组a的10个元素随机赋值,元素值范围在0~100之间;调用change_array()函数,实现数组a中的前k个元素值为0;调用print_array()函数实现数组a所有元素输出。该程序包含的三个函数: (1)void rand_array(float *x,int n)的功能是让该数组中的n个元素随机赋值,元素值范围在0~100之间; (2)void change_array(float *x,int k)的功能是让该数组中的前k个元素值为0; (3)void print_array(float *x,int n)的功能是输出该数组中的所有元素; 请写出完整代码。
时间: 2024-02-25 12:58:27 浏览: 27
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void rand_array(float *x, int n);
void change_array(float *x, int k);
void print_array(float *x, int n);
int main()
{
float a[10] = {0}; // 定义有10个元素的float数组a并全部元素初始化为0
int k = 5; // 前k个元素值为0
srand((unsigned)time(NULL)); // 设置随机数种子
rand_array(a, 10); // 调用rand_array()函数实现数组a的10个元素随机赋值
change_array(a, k); // 调用change_array()函数,实现数组a中的前k个元素值为0
print_array(a, 10); // 调用print_array()函数实现数组a所有元素输出
return 0;
}
void rand_array(float *x, int n)
{
for (int i = 0; i < n; i++)
{
x[i] = (float)(rand() % 101); // 元素值范围在0~100之间
}
}
void change_array(float *x, int k)
{
for (int i = 0; i < k; i++)
{
x[i] = 0; // 前k个元素值为0
}
}
void print_array(float *x, int n)
{
for (int i = 0; i < n; i++)
{
printf("%.2f ", x[i]); // 输出该数组中的所有元素
}
}
```