用c语言写一段程序 将一个数组里面的四位整数变为浮点数保存在数组里
时间: 2023-05-21 15:01:44 浏览: 75
以下是一个用 C 语言编写的程序,可以将一个数组中的四位整数转换为浮点数并保存在数组中:
```c
#include <stdio.h>
int main() {
int arr[] = {1234, 5678, 9012, 3456};
float floatArr[4];
for (int i = 0; i < 4; i++) {
floatArr[i] = (float)arr[i];
}
for (int i = 0; i < 4; i++) {
printf("%.2f ", floatArr[i]);
}
return 0;
}
```
这个程序首先定义了一个整数数组 `arr`,其中包含了四个四位整数。然后,它定义了一个浮点数数组 `floatArr`,用于保存转换后的浮点数。
接下来,程序使用一个 for 循环遍历整数数组,将每个整数强制转换为浮点数,并将其保存在浮点数数组中。
最后,程序使用另一个 for 循环遍历浮点数数组,并使用 `printf` 函数将每个浮点数打印出来。在这个例子中,我们使用了 `%.2f` 格式化字符串,以保留两位小数。
相关问题
用C语言编写程序计算一个包含10个整数的数组中所有整数的平均值
好的,我知道了。以下是用C语言编写程序计算一个包含10个整数的数组中所有整数的平均值的代码:
```c
#include <stdio.h>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum = 0;
float avg;
for (int i = 0; i < 10; i++) {
sum += arr[i];
}
avg = (float)sum / 10;
printf("The average is: %.2f", avg);
return 0;
}
```
这个程序中,我们首先定义了一个包含10个整数的数组`arr`,并初始化了数组元素。然后,我们使用一个for循环来遍历数组,将数组中所有整数的和累加到变量`sum`中。最后,我们将累加的和除以数组的长度10,得到平均值,并将其赋值给变量`avg`。最后,我们使用`printf`函数将平均值输出到控制台。注意,我们使用了`%.2f`格式化字符串来指定输出浮点数时保留两位小数。
有一个浮点数G 把他按IEEE754单浮点数标注保存成二进制数32位并放在 数组n1中用c语言写
要将一个浮点数按IEEE 754单精度浮点数标准保存成32位二进制数,并存储在C语言的数组中,可以使用联合体(union)来实现。下面是一个示例代码:
```c
#include <stdio.h>
typedef union {
float f;
unsigned int i;
} FloatBits;
int main() {
float G = 3.14159; // 测试用的浮点数G
FloatBits fb;
fb.f = G;
unsigned int n1[32]; // 存储二进制数的数组
unsigned int mask = 1 << 31; // 掩码
for (int i = 0; i < 32; i++) {
n1[i] = (fb.i & mask) ? 1 : 0; // 将浮点数的每一位转换成二进制并存储在数组中
mask >>= 1; // 右移掩码
}
// 打印二进制数
for (int i = 0; i < 32; i++) {
printf("%d", n1[i]);
}
printf("\n");
return 0;
}
```
在这个示例代码中,首先定义了一个名为FloatBits的联合体,其中包含一个浮点数和一个无符号整型数。然后,声明了一个浮点数G并赋值为3.14159。接着,将G的值赋给联合体的浮点数成员fb.f。然后,使用掩码逐位提取fb.i的每一位,并将其存储在n1数组中。最后,通过循环打印数组中的每一位,得到32位的二进制数表示浮点数G按IEEE 754单精度浮点数标准保存的结果。
注意:上述代码假设使用的是Little-endian字节序,如果使用的是Big-endian字节序,需要对代码进行相应的调整。