用c语言编写一个程序,在一个数组中存储10个double数字
时间: 2024-09-21 13:06:07 浏览: 41
在C语言中,你可以创建一个动态数组来存储10个`double`类型的数字。下面是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h> // 需要包含头文件用于动态内存分配
int main() {
double* array; // 定义一个double类型的指针指向数组
int size = 10; // 数组大小
// 动态分配内存
array = (double*)malloc(size * sizeof(double)); // 检查是否有足够的内存
if(array == NULL) {
printf("Memory allocation failed.\n");
return 1;
}
// 初始化数组
for(int i = 0; i < size; i++) {
array[i] = 0.0; // 可以为每个元素赋初值,这里是0.0
printf("Element %d: %.2f\n", i+1, array[i]);
}
// 使用完后记得释放内存
free(array);
return 0;
}
```
这个程序首先动态地分配了可以容纳10个`double`的内存空间,然后初始化每个元素为0.0,并打印出来。最后别忘了在结束程序之前使用`free()`函数释放内存,防止内存泄漏。
相关问题
c语言编写一个程序﹐从键盘上输入5个double类型的值,将它们存储到一个数组中。计算每个值的倒数(值x的倒数是1.0/x),将结果存储到另一个数组中。输出这些倒数,并计算和输出倒数的总和。
你可以使用以下C语言代码来完成这个任务:
```c
#include <stdio.h>
#define SIZE 5
int main() {
double input[SIZE], output[SIZE];
double sum = 0;
// 输入5个double类型的值
printf("请输入5个double类型的值:\n");
for (int i = 0; i < SIZE; i++) {
scanf("%lf", &input[i]);
if (input[i] != 0) { // 防止除以零错误
output[i] = 1.0 / input[i];
} else {
printf("第 %d 个值不能为0,请重新输入。\n", i + 1);
return -1;
}
sum += output[i]; // 计算总和
}
// 输出倒数并计算总和
printf("输入数值的倒数分别是:\n");
for (int j = 0; j < SIZE; j++) {
printf("%.2f 的倒数是 %.2f\n", input[j], output[j]);
}
printf("\n所有倒数的总和是 %.2f\n", sum);
return 0;
}
```
在这个程序中,首先我们定义了两个`double`类型的数组`input`和`output`。接着通过循环读取用户输入的五个双精度浮点数,并计算它们的倒数存入`output`数组。同时,累加每个倒数以得到总和。最后,遍历输出每对原始值及其对应的倒数,并显示总和。
编写一个函数,返回存储在double类型数组中最大值的下标(C语言)
在C语言中,你可以编写一个函数`findMaxIndex(double arr[], int size)`来找到给定double类型数组中最大值的下标。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明
int findMaxIndex(double arr[], int size);
int main() {
double array[] = {1.5, 3.7, 0.9, 4.2, 2.8};
int array_size = sizeof(array) / sizeof(array[0]);
int max_index = findMaxIndex(array, array_size);
if (max_index != -1) {
printf("The index of the maximum value is: %d\n", max_index);
} else {
printf("Array is empty or all elements are equal.\n");
}
return 0;
}
// 实现函数
int findMaxIndex(double arr[], int size) {
int max_index = 0; // 初始化最大值下标为0
// 遍历数组
for (int i = 1; i < size; i++) {
if (arr[i] > arr[max_index]) {
max_index = i; // 如果当前元素大于最大值,更新最大值下标
}
}
// 返回最大值的下标,如果没有找到元素,则返回-1(表示数组为空)
return max_index == size ? -1 : max_index;
}
```
在这个例子中,`findMaxIndex`函数通过遍历数组并比较每个元素与已知的最大值,找到最大值的下标。如果数组为空或者所有元素相等,函数会返回-1。
阅读全文