根据输入的探姬旅行经过地区的序列计算出探姬在旅行中共换了几次女装

题目描述

探姬同学喜欢旅游,他决定环游世界,在环游世界的旅行中,有可能会经过女儿国,探姬同学为了在女儿国不被发现,在进入女儿圈时换上女装,在离开女儿国时再螂下女装,连续经过多个女国中途不需要卸下女装。不知道探姬同学在双11买的女装够用吗?

输入

第一行输入一个整数n(0<n<10000),表示探姬同学旅行经过的地区数量

第二行输入n个整数,0表示女儿国,非0是其它地区。

输出

输出一个整数表示探姬在旅行中共换了几次女装。

实现代码

#include <stdio.h>

int main() {
    int n, i, count = 0, flag = 0;
    printf("请输入探姬旅行经过的地区数量:");
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        int area;
        printf("请输入第%d个地区的编号:", i+1);
        scanf("%d", &area);
        if (area == 0) {
            if (flag == 0) {
                flag = 1;
            } else {
                count++;
                flag = 0;
            }
        }
    }
    printf("探姬在旅行中共换了%d次女装\n", count);
    return 0;
}

程序的思路很简单,就是使用一个循环遍历探姬旅行经过的所有地区。如果当前地区的编号为0,表示探姬到达了女儿国,需要进行女装换装。如果当前不是第一次到达女儿国,则我们认为探姬已经完成了一次女装换装,将计数器count加1,并将标志位flag重新置为0。如果当前是第一次到达女儿国,则只需要将标志位flag置为1即可。

最后输出计数器count的值即可得到探姬在旅行中共换了几次女装。

运行截图

图片[1]-根据输入的探姬旅行经过地区的序列计算出探姬在旅行中共换了几次女装-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞12赞赏 分享