YTU 2607: A代码填空题--更换火车头
2607: A代码填空题--更换火车头
时间限制: 1 Sec 内存限制: 128 MB
提交: 91 解决: 73
题目描述
注:本题只需要提交填写部分的代码,请按照C++方式提交。
假设火车有n节车厢(从前往后编号依次为1,2,3,...,n),每节车厢的人数依次为M1,M2,M3,...,Mn。火车头的编号为0,连接在1号车厢上。火车进站后,将火车头从1号车厢卸下,接在第n节车厢上,反方向行驶。即火车的1号车厢为原来的第n号车厢,...,火车的n号车厢为原来的第1号车厢。请输出火车反向行驶后,每节车厢的人数。
#include <iostream>
using namespace std;
struct Train {
int num; //人数
Train *next;
};
Train *creat(int n)
{
Train *t=new Train;
cin>>t->num ;
if(n==1) {
t->next = NULL;
return t;
}
t->next = creat(n-1);
return t;
}
void print(Train *p){
if(p==NULL)
return ;
cout<<p->num<<" ";
print(p->next);
}
void del(Train *p)
{
if(p==NULL)
return ;
Train *t;
t=p->next;
delete p;
del(t);
}
Train *rev(Train *p)
{
Train *head=NULL,*t;
while(p){
t=p->next;
p->next = head;
head = p;
/*******************************
请在该部分补充缺少的代码
********************************/
}
return head;
}
int main(void)
{
int n;
Train *head;
Train *rev(Train *p);
cin>>n;
head = creat(n);
head=rev(head);
print (head);
del(head);
return 0;
}
输入
第一行 n
第二行 每节车厢的人数
输出
火车反向行驶后,每节车厢的人数。
样例输入
10
110 112 108 100 118 100 60 64 56 62
样例输出
62 56 64 60 100 118 100 108 112 110
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include <iostream>
using namespace std;
struct Train
{
int num;
Train *next;
};
Train *creat(int n)
{
Train *t=new Train;
cin>>t->num ;
if(n==1)
{
t->next = NULL;
return t;
}
t->next = creat(n-1);
return t;
}
void print(Train *p)
{
if(p==NULL)
return ;
cout<<p->num<<" ";
print(p->next);
}
void del(Train *p)
{
if(p==NULL)
return ;
Train *t;
t=p->next;
delete p;
del(t);
}
Train *rev(Train *p)
{
Train *head=NULL,*t;
while(p)
{
t=p->next;
p->next = head;
head = p;
p=t;
}
return head;
}
int main(void)
{
int n;
Train *head;
Train *rev(Train *p);
cin>>n;
head = creat(n);
head=rev(head);
print (head);
del(head);
return 0;
}
#include <iostream>
using namespace std;
struct Train
{
int num;
Train *next;
};
Train *creat(int n)
{
Train *t=new Train;
cin>>t->num ;
if(n==1)
{
t->next = NULL;
return t;
}
t->next = creat(n-1);
return t;
}
void print(Train *p)
{
if(p==NULL)
return ;
cout<<p->num<<" ";
print(p->next);
}
void del(Train *p)
{
if(p==NULL)
return ;
Train *t;
t=p->next;
delete p;
del(t);
}
Train *rev(Train *p)
{
Train *head=NULL,*t;
while(p)
{
t=p->next;
p->next = head;
head = p;
p=t;
}
return head;
}
int main(void)
{
int n;
Train *head;
Train *rev(Train *p);
cin>>n;
head = creat(n);
head=rev(head);
print (head);
del(head);
return 0;
}
YTU 2607: A代码填空题--更换火车头的更多相关文章
- YTU 2601: 熟悉题型——填空题(删除线性表节点)
2601: 熟悉题型--填空题(删除线性表节点) 时间限制: 1 Sec 内存限制: 128 MB 提交: 357 解决: 212 题目描述 给出一串具体长度的数据,删除指定数据. 已经给出部分代 ...
- 算法笔记_116:算法集训之代码填空题集三(Java)
目录 1 数组转置 2 文件管理 3 显示为树形 4 杨辉三角系数 5 圆周率与级数 6 整数翻转 7 自行车行程 8 祖冲之割圆法 9 最大5个数 10 最大镜像子串 1 数组转置 编写程序将 ...
- java算法集训代码填空题练习3
1 数组转置 编写程序将2行3列的数组行列置换复制给3行2列的数组(即数组的转置).已经写了如下代码,请完善之: class y{ public static void main(String[] a ...
- 算法笔记_115:算法集训之代码填空题集二(Java)
目录 1 连续数的公倍数 2 孪生素数 3 迷宫走法 4 拍7游戏 5 排列为平方数 6 平面点最小距离 7 扑克牌排列 8 三进制转十进制 9 识别复制串 10 蔬菜价格计算 1 连续数的公倍 ...
- 算法笔记_113:算法集训之代码填空题集一(Java)
目录 1 报数游戏 2 不连续处断开 3 猜数字游戏 4 串的反转 5 串中找数字 6 递归连续数 7 复制网站内容 8 股票的风险 9 基因牛的繁殖 10 括号的匹配 1 报数游戏 有n个孩子 ...
- java算法集训代码填空题练习2
1 连续数的公倍数 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致. 但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多. 事实上,它是1至6的每个数字的倍数.即1,2,3,4, ...
- java算法集训代码填空题练习1
1 报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止.问剩下第几个孩子.下面的程序以10个孩子为例,模拟了这个过程,请完善之 ...
- YTU 2586: 填空题B-字画鉴别
2586: 填空题B-字画鉴别 时间限制: 1 Sec 内存限制: 128 MB 提交: 509 解决: 131 题目描述 注:本题只需要提交填写部分的代码,请按照C语言方式提交. 古玩店老板小勇 ...
- YTU 2579: 填空题----删除指定字符
2579: 填空题----删除指定字符 时间限制: 1 Sec 内存限制: 128 MB 提交: 164 解决: 61 题目描述 小明想要做个小程序,能够删除字符串中特定的字符. 例如:想要在下面 ...
随机推荐
- JS 学习笔记--12---面向对象
练习中使用的浏览器为IE10,如果各位朋友有不同意见或者本文有什么错误地方,望指正 ECMASCript有两种开发模式:函数式(面向过程)和面向对象.面向对象有一个很明显的标志,那就是类,我们可以通过 ...
- iOS开发如何实现消息推送机制
一.关于推送通知 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能.是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的.一般说来,当要显示消息 ...
- winform 记录全局异常捕获
这篇文章主要是备用 记录winform程序捕获全局异常. /// <summary> /// 应用程序的主入口点. /// </summary> public static A ...
- NF3 里面的z cull reverse reload
nf3 siggraph2011的 分享 里面有谈对csm的优化. 1.mask white red 2. HI Z 这俩我都懂 3.reverse depth buffer这实在不明白, 为什么会有 ...
- windows_phone指定时间后执行函数
开发windows phone 应用程序时需要在一段指定的时间后执行某些函数,于是乎想到了通过DispatcherTimer类来实现,再在.Tick后面添加自己想要的事件 DispatcherTime ...
- 最小PE文件讨论
1.实例1国外的人写的最小的PE文件--97Bytes 4D5A0000504500004C0101006A2A58C30000000000000000040003010B01080004000000 ...
- C# excel操作
开源的Excel操作项目: http://www.cnblogs.com/lwme/archive/2011/11/27/2265323.html 添加引用:Microsoft Excel 11.0 ...
- Asp.net与Flex交互测试记录
一.利用asp.net为Flex提供数据服务,flex为前端表现. 二.flex通过三种方式四种代码实现来取数据.分别为 HttpService. WebService. RemoteObje ...
- Node.js NPM国内镜像
NPM国内镜像 http://npm.hacknodejs.com/ http://registry.npmjs.vitecho.com/ https://registry.npm.taobao.or ...
- 彻底理解js中this的指向
首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然 ...