📜  C |变量声明和范围|问题7(1)

📅  最后修改于: 2023-12-03 15:13:46.466000             🧑  作者: Mango

C | 变量声明和范围 | 问题7

在C语言中,变量的声明和范围是非常重要的概念,因为它们决定了变量的可用性和生命周期。在本问题中,我们将探讨一些与变量声明和范围相关的问题。

问题描述

编写一个程序,要求用户输入一个整数n,然后声明一个长度为n的int类型数组,再输入n个整数,将这n个整数存储到数组中。然后计算并输出这n个整数的平均值。

解决方案

首先,我们需要声明一个整数变量n,并将用户输入的值存储在这个变量中。

int n;
printf("Please enter the size of the array:\n");
scanf("%d", &n);

接着,我们可以使用动态内存分配(malloc 函数)来创建长度为n的整数数组。

int *arr = (int *)malloc(n * sizeof(int));

然后,我们可以使用循环读取用户输入的n个整数,并将它们存储在数组中。

printf("Please enter %d integers:\n", n);
for (int i = 0; i < n; i++) {
    scanf("%d", &arr[i]);
}

最后,我们可以使用循环计算数组中所有元素的总和,然后除以n,即可得到平均值。

int sum = 0;
for (int i = 0; i < n; i++) {
    sum += arr[i];
}
float mean = (float)sum / n;
printf("The mean is: %.2f\n", mean);

最后不要忘记释放已分配的内存。

free(arr);

完整代码如下:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int n;
    printf("Please enter the size of the array:\n");
    scanf("%d", &n);

    int *arr = (int *)malloc(n * sizeof(int));
    printf("Please enter %d integers:\n", n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    int sum = 0;
    for (int i = 0; i < n; i++) {
        sum += arr[i];
    }
    float mean = (float)sum / n;
    printf("The mean is: %.2f\n", mean);

    free(arr);
    return 0;
}

运行代码,你应该看到以下输出:

Please enter the size of the array:
5
Please enter 5 integers:
1 2 3 4 5
The mean is: 3.00
总结

在C语言中,变量声明和范围非常重要,因为它们决定了变量的可用性和生命周期。在本问题中,我们介绍了如何动态地分配内存来创建数组,并使用循环读取用户输入的整数和计算平均值。这个问题还涉及到了指针和类型转换的知识点。理解和掌握这些概念对于成为一名合格的C程序员非常重要。