C++编程 从1到m个数,每n个输出一次????

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:10:48
原题:
1到M顺时针坐成一圈,从1开始报数,报到N时停止并出列,在从他下一个开始报数,报到N出列,重复以上操作
求出出列编号序列...
晕,我同学没说清楚...
希望大家原谅再答一次

#include<iostream>
using namespace std;
//链表结点类number为这个人的编号
struct person
{
unsigned int number;
person *next;
};
//约瑟夫环类,此类包含多个person类,并控制输入输出.
class joseph_ring
{
private:
unsigned int n;//用于存放人数
unsigned int m;
unsigned int k;
person *head;//链表的头结点
public:
joseph_ring(){n=0;head=NULL;}//构造函数,把成员变量赋初值
void create();//建立环的成员函数
void show();//运算并输出的成员函数
};

void joseph_ring::create()

{
cout<<"请输入人数n:";
cin>>n;
cout<<"请输入m的初值:";
cin>>m;
cout<<"请输入第一个开始报数的人的编号k:";
cin>>k;
//定义2个临时指针
person *p1,*p2;
//for循环中用于初始化环
for(int i=1;i<=n;i++)
{
p1=new person;//新实例化一个"人"的对象
p1->number=i;//给这个"人"编个号
//如果当前链表为空,头结点指向第一个"人"
if(i==1)
{
head=p1;
p2=p1;

设M={a,b,c},N={-1,0,1},求从M到N的映射个数,过程谢谢 已知集合M={a,b,c},N={-1,0,1},从M到N的映射f满足f(a)+f(b)+f(c)=0,那么映射f的个数为? 已知集合M={a,b,c},N={-1,0,1},从M到N的映射f满足f(a)=f(b)=f(c),那么映射f的个数为? 用C语言编程做:用从键盘输入3个数,编程实现3个数的比较,输出其中的最大值 C语言:编程,按递增序生成集合M最小的100个数。 C语言简单编程:编写函数,输入3个数,并从大到小输出,3个数为整数 用C语言从5个数中找出最大的数怎么编程? 用C语言编程《任意输入10个数,按从大到小的次序输出。~~~~~~~~~~~》~~ 请教c语言编程:从键盘输入一批数据,以0结束输入,统计其中的正数和负数的个数 c语言编程的题 “从键盘输入3个数,使其按从小到大的顺序排列输出。” 感谢各位帮忙!