1-5-08:满足条件的数累加

本文介绍了一个简单的C语言程序,该程序能够计算并输出在给定的两个正整数范围内的所有17的倍数之和。通过使用for循环和if条件语句,程序遍历了指定区间的所有整数,并判断是否为17的倍数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

将正整数 m 和 n 之间(包括 m 和 n)能被 17 整除的数累加。其中,0 < m < n < 1000。

输入一行,包含两个整数m和n,其间,以一个空格间隔。输出输出一行,包行一个整数,表示累加的结果。样例输入

50 85

样例输出

204
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,m,i;
 5     int num=0;
 6     scanf("%d %d",&n,&m);
 7     for(i=n;i<=m;i++)
 8     {
 9         if(i%17==0)
10             num+=i;
11     }
12     printf("%d\n",num);
13     return 0;
14 }

 

转载于:https://www.cnblogs.com/qianxuejin/p/5078094.html

<think>我们需要修改SQL,使得当查询结果没有行时,drivingCountparkingCount都显示为0,而不是NULL。 在SQL中,如果没有符合条件的行,SUM函会返回NULL。因此,我们可以使用COALESCE函将NULL转换为0。 但是,这里有一个问题:如果整个查询没有返回任何行(即没有满足条件的记录),那么SUM的结果就是NULL。我们可以将整个查询作为子查询,然后在外部使用SELECT并应用COALESCE。 然而,注意这里我们使用了聚合函,即使没有行,也会返回一行(但所有聚合值都是NULL)。因此,我们可以将整个聚合查询包装一层,对每个字段使用COALESCE。 但是,还有一种情况:如果表中有行,但是这些行都不满足条件,那么SUM会返回0吗?不会,因为SUM在没有任何行满足条件时返回NULL(因为没有任何非NULL值被累加)。所以我们需要将每个SUM用COALESCE包裹。 修改后的SQL如下: 将原来的: SUM(CASE WHEN start_stop_type = '1' THEN 1 ELSE 0 END) AS drivingCount, SUM(CASE WHEN start_stop_type = '2' THEN 1 ELSE 0 END) AS parkingCount 改为: COALESCE(SUM(CASE WHEN start_stop_type = '1' THEN 1 ELSE 0 END), 0) AS drivingCount, COALESCE(SUM(CASE WHEN start_stop_type = '2' THEN 1 ELSE 0 END), 0) AS parkingCount 这样,即使没有满足条件的记录,也会返回0。 但是,注意:如果查询返回0行,那么聚合函的结果是NULL,所以用COALESCE可以将其转换为0。 因此,修改后的完整SQL为:</think>以下是修改后的SQL查询,确保当结果为空时`drivingCount``parkingCount`字段均返回0: ```sql SELECT COALESCE(SUM(CASE WHEN start_stop_type = '1' THEN 1 ELSE 0 END), 0) AS drivingCount, COALESCE(SUM(CASE WHEN start_stop_type = '2' THEN 1 ELSE 0 END), 0) AS parkingCount FROM ipark_hm_driving_parking_record WHERE deleted = '0' AND ( (start_time BETWEEN '2025-07-21 00:00:00' AND '2025-07-27 23:59:59') OR (end_time IS NOT NULL AND end_time BETWEEN '2025-07-21 00:00:00' AND '2025-07-27 23:59:59') OR (end_time IS NULL AND expire_time BETWEEN '2025-07-21 00:00:00' AND '2025-07-27 23:59:59') ) ``` ### 关键修改说明: 1. **`COALESCE`函**:包裹所有`SUM()`聚合函,将`NULL`结果转换为0 - `COALESCE(SUM(...), 0)` 确保无据时返回0而非NULL 2. **逻辑保持**:完全保留原始查询的时间范围条件 - 同时满足`start_time`/`end_time`/`expire_time`任一在目标时间区间内 3. **空值处理**:当WHERE条件筛选出0条记录时,自动返回: ```json {"drivingCount":0, "parkingCount":0} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值