循环报数

来源:互联网 发布:招生软件 编辑:程序博客网 时间:2024/05/23 01:09

循环报数描述:

输入1个数字和多个字符,中间均以空格隔开。假设数字取值为m(范围1~9),后面字符个数为n。假设n个字符围成一圈,从第一个字母开始循环报数,当数到m以后,第m个字母就出列,直到这n个字母全部出列。最后,按照出列的顺序输出这些字母,中间仍以空格隔开。取值范围:m为1到9, 字符个数n大于1小于20。

运行时间限制:无限制内存限制:无限制输入:

第一个为数字,后面为多个字符,均以空格隔开

输出:

输出重新排列后的字符,以空格隔开

样例输入:
3 a b c d e f g h i
样例输出:
c f i d h e b g a
答案提示:

建议采用循环链表

关于链表的知识

我的代码:

#include<iostream>using namespace std;struct Node{    char data;    Node* next;};int main(){char ch;int num;Node * head,*p,*s;head=new Node;//创建头结点p=head;//使指针指向头结点while(cin.get(ch)&&ch!='\n'){if(ch>=48&&ch<=57)num=ch-48;else if(ch!=' '){  s=new Node;//创建一个节点  s->data=ch;//为节点元素赋值  p->next=s;//将节点加入链表 p=s;//将p指针指向新加入的节点。     }    }    head=head->next;//使头指针指向链表第一个元素    p->next=head;//使链表尾部指向链表的头部Node *p1=head;Node *p2=head;int ss=0;if(num>1){do{p2=p1;//前一个node   p1=p1->next;ss++;if(ss==num-1){ss=0;cout<<p1->data<<" ";p2->next=p1->next;//delete p1;//delete操作释放p1指针指向的内存块,但是并不修改p1中的地址值。p1=p2->next;//更新p1的值。}}while(p1!=p2);//当p1,p2相同时,跳出循环cout<<p1->data;//输出链表中唯一的一个元素}else//当num=1时,直接按顺序输出链表{p1=head;cout<<p1->data<<" ";//输出链表第一个元素p1=p1->next;for(;p1!=head;p1=p1->next)//当p1等于头指针时,跳出循环cout<<p1->data<<" ";}return 0;}


0 1
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 去银行存钱被骗买了保险怎么办 京东申请退款后卖家又发货了怎么办 苹果6s没有4g网怎么办 花呗分期付款买手机额度不够怎么办 手机天猫不支持购买淘宝商品怎么办 天猫国际购买商品狠盾怎么办 在微信上微拍堂买东西被骗了怎么办 京东自营买到返修手机怎么办? 7p弯了怎么办能修复吗 农商银行app登录密码忘了怎么办 网址上的重庆时时彩不能提现怎么办 天天中彩票自己账户登录不了怎么办 天猫上卖王者荣耀的兑换码是怎么办 身份证借别人开淘宝永久封店怎么办 天猫店铺被扣12分怎么办 天猫法人变更之前的天猫贷款怎么办 在日本旅游遇到精日导游怎么办 银行资金交易异常卡被冻结怎么办 如果淘宝被盗了店铺乱上东西怎么办 快递不送货直接代售点签收怎么办 淘宝快递没收到却显示已签收怎么办 支付宝余额未满16受限怎么办 未满16岁支付宝余额受限怎么办 手机天猫购物买的数量大怎么办 扣扣游戏领礼包出现账号异常怎么办 美容院转让给别人客人要退钱怎么办 卖家毁约中介费担保费怎么办 天猫买东西店家不开增值税票怎么办 天猫专卖店品牌不授权了怎么办 临时京东账号被冻结买的东西怎么办 天猫强行退款给买家商家怎么办 淘宝店铺没交保证金被释放了怎么办 沭阳县地段生过了报名时间怎么办 淘宝买东西地址和收件人填错怎么办 才装修的房子马上要住怎么办 淘宝发货显示无效的发货人怎么办 微信位置和所在地位置不一样怎么办 qq号被冻结了短信发不出去怎么办 商户刷自己信息卡被冻结怎么办 天猫超市买的东西坏了怎么办 天猫超市买东西地址填错了怎么办