做淘宝网站需要多少钱,中国建筑官网电话,网站编辑 seo是什么 百度知道,东莞住建局官网题目描述
特定大小的停车场#xff0c;数组cars[]表示#xff0c;其中1表示有车#xff0c;0表示没车。车辆大小不一#xff0c;小车占一个车位#xff08;长度1#xff09;#xff0c;货车占两个车位#xff08;长度2#xff09;#xff0c;卡车占三个车位#xf…题目描述
特定大小的停车场数组cars[]表示其中1表示有车0表示没车。车辆大小不一小车占一个车位长度1货车占两个车位长度2卡车占三个车位长度3。
统计停车场最少可以停多少辆车返回具体的数目。
输入描述
整型字符串数组cars[]其中1表示有车0表示没车数组长度小于1000。
输出描述
整型数字字符串表示最少停车数目。
用例
输入1,0,1输出2说明1个小车占第1个车位
输入1,1,0,0,1,1,1,0,1输出3说明1个货车占第1、2个车位
给下面的代码添加注释不要改动原本的代码
代码
#include stdio.h
#include stdlib.h
#include string.h// 定义停车场车位最大数量常量
#define MAX_LEN 1000int main() {// 初始化输入字符串数组用于存储用户输入的以逗号分隔的字符序列char input[MAX_LEN];// 读取标准输入即从控制台读取一行数据并去掉末尾换行符fgets(input, MAX_LEN, stdin);input[strcspn(input, \n)] \0;// 初始化整型数组cars用于存储转换为整数形式的车辆状态int cars[MAX_LEN];int count 0; // 记录有效输入的数量// 使用strtok函数按逗号分割输入字符串并将每个数字串转换为整数存入cars数组char *token strtok(input, ,);while (token ! NULL) {cars[count] atoi(token); // 将当前token转换为整数并存入cars数组token strtok(NULL, ,); // 继续处理下一个token}// 初始化临时变量tmplen用于计算连续停车长度res用于记录最少可以停多少辆车int tmplen 0;int res 0;// 遍历整个cars数组for (int i 0; i count; i) {// 当前车位有车用1表示if (cars[i] 1) {tmplen; // 增加连续停车长度计数// 判断是否到达最后一个车位或者下一个车位是空的用0表示if (i count - 1 || cars[i 1] 0) {// 根据停车长度计算能够停放的车辆数卡车占3个车位小车或货车各占1或2个车位res tmplen / 3; // 先添加能完全停放的卡车数量if (tmplen % 3 ! 0) { // 若剩余车位不足3个则增加一辆车res;}tmplen 0; // 重置临时停车长度计数器}}}// 输出最少可以停多少辆车的结果printf(%d\n, res);return 0;
}