约瑟夫环c语言程序完整版,C语言:约瑟夫环问题(源代码)

本帖最后由 geige 于 2015-7-26 00:48 编辑

#include

#include

struct stu //构建一个新的数据类型

{

int num;

struct stu *next;

};

struct stu *createlist(int n);  //函数声明

int main()

{

struct stu *head,*p,*temp;   //定义头指针,以及中间指针temp,用来删除节点

int n,m,i,j=1,flag=0;

printf("Please input n and m:\n");

scanf("%d%d",&n,&m);

head=createlist(n);          //调用函数来创建链表并返回头指针赋值给head

p=head->next;                //将首节点的地址赋值给p

if(m==1)                     //如果m等于1,直接按顺序输出

{

while(p!=NULL)

{

printf("%d ",p->num);

p=p->next;

}

putchar('\n');

}

else

{

while(n!=1)

{

for(i=1;i<=n;i++)

{

if(p!=NULL)

{

if(j==m)

{

printf("%d ",p->num);

if(p==head->next)

head->next=p->next; //如果删除的是首结点,那么将第二个节点作为首节点

temp->next=p->next;

p=temp->next;

j=1;

flag++;

}

else

{

j++;

temp=p;

p=p->next;

}

}

}

n=n-flag; //退出的人数要减去

flag=0;

p=head->next; //将首节点重新赋给p

}

printf("%d\n",temp->num); //输出最后一个数

}

free(p); //释放内存

return 0;

}

struct stu *createlist(int n)

{

int i;

struct stu *phead=(struct stu*)malloc(sizeof(struct stu)),*ptail;  //申请头结点

if(phead==NULL)

{

printf("Not able apply for memory !\n");

return 0;

}

ptail=phead; //

ptail->next=NULL; //将头结点的下一个地址置空

for(i=1;i<=n;i++)

{

struct stu *pnew=(struct stu*)malloc(sizeof(struct stu)); //开辟新的节点

if(pnew==NULL)

{

printf("Not able apply for memory !\n");

return 0;

}

pnew->num=i;

ptail->next=pnew;

pnew->next=NULL;

ptail=pnew; //节点前移

}

return phead; //返回头指针

}

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

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

相关文章

js中遇到的一个错误Uncaught SyntaxError: missing )after argument list

报的错误如下&#xff1a; 代码&#xff1a; 解决&#xff1a; 加上引号即可。

c语言第六次实验报告,第一年C语言实验报告6列

成都理工大学计算机工程学院“编程基础”实验报告1. 实验目的(1)精通一维数组. 二维数组的定义&#xff0c;初始化以及输入和输出方法(2)掌握字符数组和字符串函数的使用(3)掌握与数组有关的常用算法2. 实验内容(1)在给定的字符串中找到指定的字符&#xff1b;要求:①通过直接初…

静态页面被拦截解决办法

在配置中央调度器的时候&#xff0c;url-pattern设置为*.do&#xff0c;以后的请求中写什么.do&#xff0c;不会出现静态页面被拦截的情况。 当url-pattern设置为/时&#xff0c;出现了静态页面被拦截 解决&#xff1a; 1.使用defaultServlet&#xff0c;在web.xml中的Dispatch…

c语言程序设计报告数制转换,数制转换-C语言程序设计课程设计报告.docx

计算机学院《高级语言程序设计》课程设计报告 PAGE \* MERGEFORMAT 10学号2016-2017学年 第二学期《C语言程序设计》课程设计报告题目&#xff1a;数制转换专业&#xff1a;网络工程(对口)班级&#xff1a;姓名&#xff1a;指导教师&#xff1a;成绩&#xff1a;计算机学院2017…

IDEA中maven的Plugins报红解决方法

IDEA中maven的Plugins报红解决方法 Idea中maven的Plugins报红解决方法 我的maven项目中plugins下的所有文件都报红&#xff0c;查看报错&#xff0c;这是Maven中plugins没有存入本地的仓库&#xff0c;点击Settings查看Build&#xff0c;Execution…》》Build Tools》》Maven》…

ssm前端时间格式转换

1&#xff1a;在实体类加注解 DateTimeFormat(pattern"yyyy-MM-dd") private Date stime ;2&#xff1a;在前端页面引入jstl <% taglib uri"http://java.sun.com/jsp/jstl/fmt" prefix"fmt"%><table border"1px"><t…

标准C语言各种时间函数用法,使用c语言标准库中的时间函数

#include #include int main(void){time_t start, finish, now;struct tm *ptr;char *c, buf1[80];double duration;//记录程序开始的时间start time(0);//记录当前时间&#xff0c;以另一种方式调用time()time(&now);//将time_t值转换成tm类型的结构ptr localtime(&…

git credential manager for windows解决方法

换电脑之后因为git 账号问题修改了git账号密码&#xff0c;但问题出现了&#xff0c;每次都让输入账号密码&#xff0c;window的一遍&#xff0c;git的一遍。之后git设置可以保存密码&#xff0c;但window安全中心却每次都让输入密码解决方法。 一&#xff0c;保存 git 的密码…

冒泡排序c语言子程序,C语言之冒泡排序算法

一、搭建Zookeeper集群Zookeeper是一个分布式开源框架&#xff0c;提供了协调分布式应用的基本服务&#xff0c;它向外部应用暴露一组通用服务——分布式同步(DistributedSynchronization)、命名服务(NamingService)、集群维护(GroupMaintenance)等&#xff0c;简化分布式应用协…

sql语句中大于号、小于号、大于等于、小于等于号的写法

sql语句中大于号、小于号、大于等于、小于等于号的写法 第一种&#xff1a; <: < <: < >: > >: > sql如下&#xff1a; create_at > #{startTime} and create_at < #{endTime} 第二种&#xff1a; 大于等于: <![CDATA[ > ]]> 小于…

C语言挂载文件夹,使用autofs 按需挂载共享目录

23.6.1安装autofs通过如下命令检测autofs是否已经安装#rpm –q autofsautofs-5.0.1-0.rc2.88如果系统当前未安装autofs服务&#xff0c;可以通过系统安装光盘进行安装。23.6.2启动autofs服务#service autofs start关闭服务#service autofs stop查看autofs服务状态#service auto…

JavaScript 中的 window onload 应该什么时候写

JavaScript 中的 window onload 应该什么时候写 1. 页内式 JS 代码 1.1 页内式 JS 代码写在 head 内部 如果 script 标签写在 head 标签内部&#xff0c;则位于 body 内的元素将晚于 JS 代码加载&#xff0c;那么其中一些获取 DOM 元素的方法将无法取得元素&#xff08;返回 …

android歌词效果,自定义View:Android歌词控件

TicktockMusic 音乐播放器项目相关文章汇总&#xff1a;简介之前做 TicktockMusic 音乐播放器&#xff0c;一个必要的需求肯定是歌词&#xff0c;在 github 上找了几个&#xff0c;发现或多或少都有点不满足需求&#xff0c;所以就自己动手写了一个&#xff0c;本篇文章主要介绍…

IDEA项目中 target 目录的作用

IDEA项目中 target 目录的作用 target是idea默认的编译路径&#xff0c;用来存放项目的&#xff1a;文件和目录、jar包、war包、class文件等。

java上传图片到target目录,jsp如何访问target里的图片路径

java上传图片到target目录&#xff0c;jsp如何访问target里的图片路径 昨天有个同学在做springmvc的图片上传&#xff0c;上传成功了却无法从网页中访问&#xff0c;我看了看上传后的路径&#xff0c;它用的idea编辑器&#xff0c;图片上传到了target里的目录&#xff0c;src目…

html中 为什么在页面点击提交后reset按钮就不起作用了

html中 为什么在页面点击提交后reset按钮就不起作用了 解释&#xff1a;reset的作用是恢复初始值&#xff0c;提交后页面重新加载&#xff0c;初始值已经是修改后的值了&#xff0c;并不是reset不起作用了。 你可以在提交后&#xff0c;修改几个值再reset试试&#xff0c;看是…

c:if标签不起作用

c:if标签因多余空格导致不起作用 <c:if test" ${monitorUserConfigure.monitorCycle 2 } ">selected</c:if>上面这段代码粗看没什么问题&#xff0c;但是在程序中始终不起作用。原因是test""表达式的两个引号和里面的内容有空格&#xff0c;…

RegExp:正则表达式对象

RegExp&#xff1a;正则表达式对象 1. 正则表达式&#xff1a;定义字符串的组成规则。 1. 单个字符:[] 如&#xff1a; [a] [ab] [a-zA-Z0-9_] 特殊符号代表特殊含义的单个字符: \d:单个数字字符 [0-9] \w:单个单词字符[a-zA-Z0-9_] 2. 量词符号&#xff1a; ?&#xff1a;表…

java文件下载出现文件名乱码解决办法

java文件下载出现文件名乱码解决办法 //IE、chrom、Firefox文件中文乱码问题public String processFileName(HttpServletRequest request, String fileNames) {String codedfilename null;try {String agent request.getHeader("USER-AGENT");if (null ! agent &a…

android view退出动画,android animation——view进来退出动画

在设计android项目的时候我们有时候需要对activity的进入退出做一些动画处理&#xff0c;虽然android自身已经做了动画处理&#xff0c;但是我们需要更加炫酷的动画就需要自己去写一些动画了。有时候不光activity&#xff0c;还有popupwindow或者自定义view都是需要动画的。那么…