简单LinuxC程序关于报数问题
来源:互联网 发布:链路状态协议网络拓扑 编辑:程序博客网 时间:2024/06/13 12:54
题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,求出最后留下的是原来的第几号。编写一个C语言程序完成该功能,要求n从键盘输入。
源程序:
#include <stdio.h>int stay (int n){int count = n;int count2 = 0;int count3 = 0;int people[n];int i;for (i = 0;i < n; i++){people[i] = i + 1; //给每个人排号}while (count > 1){if (people[count2] > 0) //只有留下的人才报数{count3++;}count2++;if (count3 == 3){count--;people[count2 - 1] = 0; //报到3的人退出count3 = 0;}if (count2 == n){count2 = 0; //最后一个人报完数,又从第一个开始}}for (i = 0 ;i < n ;i++){if (people[i] > 0) //不为0的即为最后留下的人{return people[i];}}return 0;}int main(){int n;printf ("input the number of people :");scanf ("%d",&n);printf ("The last people is the NO.%d\n",stay (n)); return 0;}本题最关键的是计数变量的使用,需要搞清每一个计数变量自增的条件,以及归零的条件。在本题中,报数的只有留下的人,所以报数的计数变量count3只有在记到非零的元素时才自增。
阅读全文
1 0
- 简单LinuxC程序关于报数问题
- 简单LinuxC程序关于排序问题(冒泡排序与选择排序)
- 简单LinuxC程序关于实现进制转换
- 简单LinuxC程序关于逆序一个中英混合字符串
- 简单LinuxC程序关于进制转换(递归函数)
- 简单LinuxC程序关于简单计算器(函数指针与回调函数)
- 简单LinuxC程序关于实现识别字符串中合法的帧(字符串输入)
- 简单LinuxC程序关于倒置句子中的单词位置(字符串逆序应用)
- 简单LinuxC程序关于倒置句子中的单词位置(指针的使用)
- 简单LinuxC程序关于加密(将任意长字符转换为定长整数)
- 简单LinuxC程序关于任意长整数相加(字符串实现)
- 简单LinuxC程序关于加密(将任意长字符转换为定长整数)
- LinuxC关于运算符的一些问题
- LinuxC关于语句的一些问题
- 简单LinuxC程序关于统计0~n有多少个0~9(main函数的参数)
- 简单LinuxC程序关于实现从终端获取一条语句并统计各种字符数量(字符输入输出)
- 简单LinuxC程序之位运算的简单应用
- 报数程序
- Java基础方面陷阱
- 查看网页代码,禁用右键、F12查看
- ArcGIS API for JavaScript(4.x)+EasyUI——图层控制
- 最小的K个数
- 代理服务器与NAT
- 简单LinuxC程序关于报数问题
- C++中“引用”的底层实现
- Android 输入法与聊天表情之间切换 edittext悬浮输入法之上
- day_04 Linux下有关增删查改的Shell命令
- 又是权限的问题啊啊啊!------远程定位一个与我不相关的问题
- java学习之路(2)-java的基本元素
- VLC android 3.0解码器使用及移植TV项目调研
- NAT技术及其应用
- 块设备文件的readpage方法