用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出
来源:互联网 发布:arraypush 二维数组 编辑:程序博客网 时间:2024/05/16 04:17
// 用户输入M,N值,从1至N开始顺序
// 循环数数,每数到M输出该数值,
// 直至全部输出
#include <stdio.h>
// 节点
typedef struct node
{
int data;
node* next;
}node;
// 创建循环链表
void createList(node*& head, node*& tail, int n)
{
if(n<1)
{
head = NULL;
return ;
}
head = new node();
head->data = 1;
head->next = NULL;
node* p = head;
for(int i=2; i<n+1; i++)
{
p->next = new node();
p = p->next;
p->data = i;
p->next = NULL;
}
tail = p;
p->next = head;
}
// 打印循环链表
void Print(node*& head)
{
node* p = head;
while(p && p->next!=head)
{
printf("%d ", p->data);
p=p->next;
}
if(p)
{
printf("%d/n", p->data);
}
}
// 用户输入M,N值,从1至N开始顺序
// 循环数数,每数到M输出该数值,
// 直至全部输出
void CountPrint(node*& head, node*& tail, int m)
{
node* cur = head;
node* pre = tail;
int cnt = m-1;
while(cur && cur!=cur->next)
{
if(cnt)
{
cnt--;
pre = cur;
cur = cur->next;
}
else
{
pre->next = cur->next;
printf("%d ", cur->data);
delete cur;
cur = pre->next;
cnt = m-1;
}
}
if(cur)
{
printf("%d ", cur->data);
delete cur;
head = tail = NULL;
}
printf("/n");
}
int main()
{
node* head;
node* tail;
int m;
int n;
scanf("%d", &n);
scanf("%d", &m);
createList(head, tail, n);
Print(head);
CountPrint(head, tail, m);
return 0;
}
// 循环数数,每数到M输出该数值,
// 直至全部输出
#include <stdio.h>
// 节点
typedef struct node
{
int data;
node* next;
}node;
// 创建循环链表
void createList(node*& head, node*& tail, int n)
{
if(n<1)
{
head = NULL;
return ;
}
head = new node();
head->data = 1;
head->next = NULL;
node* p = head;
for(int i=2; i<n+1; i++)
{
p->next = new node();
p = p->next;
p->data = i;
p->next = NULL;
}
tail = p;
p->next = head;
}
// 打印循环链表
void Print(node*& head)
{
node* p = head;
while(p && p->next!=head)
{
printf("%d ", p->data);
p=p->next;
}
if(p)
{
printf("%d/n", p->data);
}
}
// 用户输入M,N值,从1至N开始顺序
// 循环数数,每数到M输出该数值,
// 直至全部输出
void CountPrint(node*& head, node*& tail, int m)
{
node* cur = head;
node* pre = tail;
int cnt = m-1;
while(cur && cur!=cur->next)
{
if(cnt)
{
cnt--;
pre = cur;
cur = cur->next;
}
else
{
pre->next = cur->next;
printf("%d ", cur->data);
delete cur;
cur = pre->next;
cnt = m-1;
}
}
if(cur)
{
printf("%d ", cur->data);
delete cur;
head = tail = NULL;
}
printf("/n");
}
int main()
{
node* head;
node* tail;
int m;
int n;
scanf("%d", &n);
scanf("%d", &m);
createList(head, tail, n);
Print(head);
CountPrint(head, tail, m);
return 0;
}
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出
- .用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序(数组)
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
- 输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出(约瑟夫环问题)
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序(约瑟夫环问题)
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C/C++程序(链表)
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序(约瑟夫环问题)
- 约瑟夫环:用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至最后一个元素并输出该元素的值
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至最后一个元素并输出该元素的值
- 约瑟夫环:用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值
- 用户输入M,N值 ,从1到N开始顺序循环数数,每数到M输出该值,直到全部输出
- 输出从m到n的值、
- 输出m到n的水仙花数
- 漫谈C语言及如何学习C语言--http://my.oschina.net/apeng/blog/137911
- POJ 2262 Goldbach's Conjecture
- ping网络故障
- RPM 命令的介绍和应用
- 让我郁闷的第一次做站
- 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出
- 网站目标的设定SEO效率的提升
- android 图片水印处理 文字倾斜处理
- 图像处理中的拉普拉斯算子
- Redmine开启服务
- linux相关命令总结
- H264源码分析(二)
- jsp验证码页面笔记
- Filter介绍及常用滤镜总结