首页 > 解决方案 > 移动箱(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);
}

标签: c

解决方案


您正在打印:

printf("%d",distance);

相反,我认为您的意思是:

printf("%d",total_distance);

在此之前,您还应该初始化total_distance为 0。


推荐阅读