先看看题目:
30人在一条船上,超载,需要15人下船,于是人们排成了一队,排队的位置即为他们的编号,从第一个开始报数,从1数到9,数到9的人下船,如此循环往复,直到船上仅剩下15人为止,那么有哪些人下船呢?
1.用C语言实现:
#include<stdio.h>int c = 0;
int i = 1;
int j = 0;
int a[30] = { 0 };
int b[30] = { 0 };int main()
{while (i<=31){if (i == 31){i = 1;}else if (c == 15){break;}else{if (b[i] != 0){i++;continue;}else{j++;if (j != 9){i++;continue;}else{b[i] = 1;a[i] = j;j = 0;printf("第%d号下船了n", i);i++;c++;}}}}
}
运行结果展示:
2.用**C++**实现:
#include<iostream>
using namespace std;int c = 0;
int i = 1;
int j = 0;
int a[30] = { 0 };
int b[30] = { 0 };int main()
{while (i<=31){if (i == 31){i = 1;}else if (c == 15){break;}else{if (b[i] != 0){i++;continue;}else{j++;if (j != 9){i++;continue;}else{b[i] = 1;a[i] = j;j = 0;cout<<"第%d号下船了n"<< i;i++;c++;}}}}
}
运行结果展示:
用python实现
people = {}
for i in range(1,31):people[i] = 1check = 0
i = 1
j = 0
while i <= 31:if i == 31:i = 1elif j == 15:breakelse:if people[i] == 0:i += 1continueelse:check += 1if check == 9:people[i] = 0check = 0print("{}号下船了!".format(i))j+=1else:i+=1continue
运行结果:
通过上面示例,我们也看到每种语言各有特色!大家最喜欢哪一种语言呢?
本文发布于:2024-01-31 03:47:33,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170664405425170.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |