题目描述
探姬同学喜欢旅游,他决定环游世界,在环游世界的旅行中,有可能会经过女儿国,探姬同学为了在女儿国不被发现,在进入女儿圈时换上女装,在离开女儿国时再螂下女装,连续经过多个女国中途不需要卸下女装。不知道探姬同学在双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的值即可得到探姬在旅行中共换了几次女装。
运行截图
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END