H2330819027


私信TA

用户名:dotcpp0701405

访问量:13055

签 名:

指向函数指针数组的指针int(*(*p[4]))(int int)

等  级
排  名 108
经  验 8224
参赛次数 1
文章发表 79
年  龄 18
在职情况 学生
学  校 Hzu university
专  业 软件工程

  自我简介:

解题思路:

声明和初始化变量:首先声明整型变量 l 和 m 分别用于表示马路的长度和区域的数量,并初始化为0。还声明整型变量 i 和 j 用于循环计数,以及整型变量 start 和 end 用于存储每个区域的起始点和终止点。同时,声明一个整型数组 arr,用于表示马路上的树,数组长度为10000,并初始化为1。最后,声明一个整型变量 sum 用于计算剩余的树的数量。

初始化数组 arr:使用一个循环遍历从0到 l 的每个整数点,将数组 arr 中的所有元素初始化为1,表示马路上的树都存在。

处理每个区域:使用一个循环遍历每个区域,依次读取起始点和终止点,并在数组 arr 中将这个区域内的树都标记为0,表示这些树被移走了。

统计剩余的树的数量:使用一个循环遍历数组 arr,累加每个位置的值,得到剩余的树的数量。

输出结果:使用 printf 函数输出剩余的树的数量。


注意事项:

参考代码:

#include <stdio.h> // 包含标准输入输出库的头文件

int main()
{
    int l = 0, m = 0, i = 0, j = 0; // 声明整数变量 l、m、i、j
    int start, end;                // 声明整数变量 start 和 end
    scanf("%d%d", &l, &m);         // 从标准输入读取两个整数并存储在 l 和 m 中

    int arr[10000]; // 声明一个整数数组 arr,用于表示马路上每个点是否有树,初始化所有点都有树(值为1)
    int sum = 0;    // 用于计算马路上剩余的树的数量

    // 初始化 arr 数组,将所有点都设置为有树(值为1)
    for (i = 0; i <= l; i++)
    {
        arr[i] = 1;
    }

    // 循环读取 m 次,每次输入地铁区域的起始点和结束点,并将这些区域内的树标记为已移除(值为0)
    for (i = 0; i < m; i++)
    {
        scanf("%d%d", &start, &end); // 从标准输入读取起始点和结束点
        for (j = start; j <= end; j++)
        {
            arr[j] = 0; // 标记该点处的树为已移除,将 arr 数组中对应的元素设置为 0
        }
    }

    // 统计剩余马路上的树的数量
    for (i = 0; i <= l; i++)
    {
        sum += arr[i];
    }

    printf("%d", sum); // 打印剩余马路上的树的数量
    return 0;          // 返回程序的退出状态码,表示成功运行
}
 

0.0分

15 人评分

  评论区

666
2024-11-05 23:16:17
  • «
  • 1
  • »