C语言每日一题—约瑟夫问题

13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现。***输出提示:"\n出圈成员及顺序:"
***输出格式:"%3d"
***输出提示:"\n最后的成员是:"
***输出格式:"%3d"

 1、不用结构体

#include<stdio.h>int main()
{int a[13]={0};int i,j=0,n;printf("\n出圈成员及顺序:");for(i=1;i<=12;i++){n=1;do{if(j>12) j=0;if(a[j]!=0) j++;else{if(n==3){a[j]=i;printf("%3d",j+1);}j++;n++;}}while(n<=3);}printf("\n最后的成员是:");for(i=0;i<=12;i++){if(a[i]==0)printf("%3d",i+1);}return 0;
}

2、用结构体(参考答案)

#include <stdio.h>#define	N 13struct person
{  	 	  		 		 int number;int nextp;
}link[N + 1];int main(void)
{  	 	  		 		 int i, count, h;/* 建立队列 */for (i = 1; i <= N; i++){  	 	  		 		 if (i == N){  	 	  		 		 link[i].nextp = 1;}else{  	 	  		 		 link[i].nextp = i + 1;}link[i].number = i;}count = 0;h = N;printf("\n出圈成员及顺序:");while (count < N - 1){  	 	  		 		 i = 0;while (i != 3){  	 	  		 		 h = link[h].nextp;if (link[h].number){  	 	  		 		 i++;}}printf("%3d", link[h].number);link[h].number = 0;count++;}printf("\n最后的成员是:");for (i = 1; i <= N; i++){  	 	  		 		 if (link[i].number){  	 	  		 		 printf("%3d", link[i].number);}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/11289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++指针和动态内存分配细节,反汇编,面试题05

文章目录 20. 指针 vs 引用21. new vs malloc 20. 指针 vs 引用 指针是实体&#xff0c;占用内存空间&#xff0c;逻辑上独立&#xff1b;引用是别名&#xff0c;与变量共享内存空间&#xff0c;逻辑上不独立。指针定义时可以不初始化&#xff1b;引用定义时必须初始化。指针的…

mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’

问题&#xff1a; mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’ 解决方法&#xff1a; 需要修改数据集加载的代码文件&#xff0c;数据集文件在路径configs/base/datasets/coco_detection.py里面&#xff0c;需要增加meta…

【GD32F470紫藤派使用手册】第五讲 PMU-低功耗实验

5.1 实验内容 通过本实验主要学习以下内容&#xff1a; PMU原理&#xff1b; 低功耗的进入以及退出操作&#xff1b; 5.2 实验原理 5.2.1 PMU结构原理 PMU即电源管理单元&#xff0c;其内部结构下图所示&#xff0c;由该图可知&#xff0c;GD32F4xx系列MCU具有三个电源域…

驱动丹佛斯比例电磁铁放大器

驱动丹佛斯比例电磁铁是一种用于实现对液压系统连续且精确控制的通电带磁性装置。比例阀由直流比例电磁铁和液压阀两部分组成。其中&#xff0c;比例电磁铁是其核心部件&#xff0c;负责将输入的电信号转换成力和位移输出&#xff0c;从而控制液压阀的工作状态。比例电磁铁通过…

c语言实现十进制(整数,小数)转N进制

文章目录 先来说一下整数转N进制小数转N进制栈和队列代码地址← 今天实现了c语言整数和小数转换为对应的N进制 先来说一下整数转N进制 我们只需要不断的取模然后判断num/N是否等于0就可以了,同时我们还要保存每一组的余数 这里我们的余数是从下往上输出的,是不是就相当于后算出…

海外盲盒小程序:探索世界,发现无限可能

在数字时代&#xff0c;我们渴望突破地域的界限&#xff0c;体验不同文化&#xff0c;感受世界的多彩。为了满足这一需求&#xff0c;我们隆重推出“海外盲盒小程序”——一个让你足不出户&#xff0c;就能探索世界、发现无限可能的神奇平台。 一、独特的盲盒体验 打开“海外盲…

[力扣题解]45. 跳跃游戏 II

题目&#xff1a;45. 跳跃游戏 II 思路 贪心法&#xff1b; 只需记录2个变量&#xff0c;当前点能达到的最远距离&#xff0c;和上一步能到达的最远距离&#xff1b; &#xff08;真有意思&#xff0c;代码随想录给出的是curDistance&#xff0c;nextDistance2个&#xff0c;…

NetApp数据恢复—WAFL文件系统下raid数据恢复案例

NetApp存储数据恢复环境&故障&#xff1a; 某公司NetApp存储设备&#xff0c;人为误操作导致NetApp存储内部分重要数据被删除&#xff0c;该NetApp存储采用WAFL文件系统&#xff0c;底层是由多块硬盘组成的raid阵列。 NetApp存储数据恢复过程&#xff1a; 1、将NetApp存储设…

VBA在Excel中注册登录界面的应用

VBA在Excel中注册登录界面的应用(V潘谆白说VBA) 文章目录 前言一、如何注册登录?二、注册登录界面截图三、操作思路四、运行代码1.注册2.登录3.注册登录界面赋值4.隐藏工作表方法5.显示工作表方法6.打开、关闭工作薄前操作前言 Excel工作表也可以像其他小程序一样,输入账号…

【3D基础】坐标转换——地理坐标投影到平面

汤国安版GIS原理第二章重点 1.常见投影方式 https://download.csdn.net/blog/column/9283203/83387473 Web Mercator投影&#xff08;Web Mercator Projection&#xff09;&#xff1a; 优点&#xff1a; 在 Web 地图中广泛使用&#xff0c;易于显示并与在线地图服务集成。在…

【Linux学习笔记】一篇文章彻底搞定 “Linux同步与互斥“ !

本章重点 1. 学会线程同步。 2 学会使用互斥量&#xff0c;条件变量&#xff0c;posix信号量&#xff0c;以及读写锁。 1、进程线程间的互斥相关背景概念 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的…

JavaSE继承

1、继承 关键字&#xff1a;extends 继承的作用&#xff1a;多态前提条件&#xff0c;提高代码复用率 继承的缺点&#xff1a; 父类中私有的属性和方法&#xff0c;子类是无法使用的 在java中只支持单继承&#xff0c;不支持多继承&#xff0c;但是可以支持多重继承 继承后…

Sylar C++高性能服务器学习记录12 【IO调度模块-代码分析篇】

早在19年5月就在某站上看到sylar的视频了&#xff0c;一直认为这是一个非常不错的视频。 由于本人一直是自学编程&#xff0c;基础不扎实&#xff0c;也没有任何人的督促&#xff0c;没能坚持下去。 每每想起倍感惋惜&#xff0c;遂提笔再续前缘。 为了能更好的看懂sylar&…

【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(5.使用ICC II以及FC进行物理实现)

使用IC Compiler II和Fusion Compiler进行物理实现 在完成带有行站点、电源规划和I/O放置的floorplan之后,可以继续进行物理综合和实现。Fusion Compiler提供了广泛的功能,以执行设计的平面物理实现。 图67显示了物理实现流程的一般步骤以及流程的低功耗支持特性。 图67 I…

Elasticsearch框架学习的难点和重点有哪些

Elasticsearch是一个基于Lucene构建的开源搜索引擎&#xff0c;广泛用于全文检索、日志数据分析等多种应用场景。由于其强大的搜索能力、灵活的扩展性和丰富的功能特性&#xff0c;Elasticsearch在数据分析和搜索领域非常受欢迎。V哥认为学习Elasticsearch主要包括以下几个难点…

极度内卷,消费下行,AIGC如何成为普通人易变现好上手的新机会,这几种方法一定要尝试!

最近看到一个麦肯锡报告&#xff0c;说到2030年&#xff0c;AI会替代1亿多中国人的岗位。 暂且不说这个预测是否准确&#xff0c;但自从AI横空出世&#xff0c;确实给我们的生活带来了翻天覆地的变化&#xff0c;有人顺势起飞&#xff0c;有人被时代淘汰… 李开复也曾不止一次…

47-Qt控件详解:Buttons Containers1

一 QPushButton (命令按钮) #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QPushButton>//引入QPushButton类对应的头文件class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWind…

如何评估大型语言模型(LLM)?

01 简介 Introduction 随着ChatGPT和其他大型语言模型&#xff08;LLMs&#xff09;的发布&#xff0c;可用模型数量大量增加&#xff0c;现在几乎每天都有新的LLMs发布。尽管如此&#xff0c;当下仍然没有一个通用的标准来评估这些大型语言模型的质量。本文将回顾现有的大型语…

振弦式表面式应变计有哪些功能优势

振弦式表面应变计是一种高精度的测量工具&#xff0c;专门用于测量材料表面的应变和位移。它通过监测材料表面的微小变化&#xff0c;帮助工程师获得关键的结构性能数据。振弦式表面应变计因其独特的功能优势&#xff0c;在众多领域尤其是在结构健康监测中&#xff0c;发挥着不…

卡尔曼滤波状态估计

clear all; close all; clc; %% 上面是调用卡尔曼滤波 % 定义状态维数和初始条件 n 3; % 状态维数 q 0.2; % 过程噪声标准差 r 0.15; % 测量噪声标准差 Q q * eye(n); …