c - 移动箱(C语言)
问题描述
1 = 盒子 0 = 没有
0 1 0 1 0 0 → 1 1 0 0 0 0 答案是 1+2 = 3
我不知道什么是问题。请告诉我有什么问题。太感谢了!
#include <stdio.h>
#define MAX 99999
int main()
{
int n;
int i,j;
int num=0;
int distance;
int total_distance;
int box[MAX];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&box[i]);
}
for(j=0;j<n;j++)
{
if (box[j]==1)
{
num++;
distance = (j+1)-num;
total_distance = total_distance + distance;
}
}
printf("%d",distance);
}
解决方案
您正在打印:
printf("%d",distance);
相反,我认为您的意思是:
printf("%d",total_distance);
在此之前,您还应该初始化total_distance
为 0。
推荐阅读
- tensorflow - 替换tensorflow 2.0中损失函数的梯度计算
- vue.js - 当路由器:id 参数更改时 Nuxt 刷新路由器视图
- android - Android 中的 IllegalStateException。从 Play 商店控制台复制的异常
- file - file_put_contents 文件未正确上传(文件损坏或损坏)
- php - 梨html QuickForm
- java - 从 java opencv 中的字节数组创建 CV_16UC1 Mat
- html - add underline sticky border in the chosen tab
- r - 在 R 中连接两个数据集
- ios - 从泛型类型转换为特定类型
- python - 如何在 Python 中正确解析时间戳期间的 AM/PM?