我要做诗人
来源:互联网 发布:dj音乐制作软件下载 编辑:程序博客网 时间:2024/04/27 16:27
题目:
老师问小明:“古人,最厉害的是什么?”
小明回答说:“当然是写诗啊!”
老师继续说道:”那你会不会写诗啊?“
小明回答说:“我会抄,可是我不会写!”
于是老师就交代小明说,你给我把英文单词抄成古文的形式,我先给你26个字母,你给我抄一下看看。小明就一股脑的抄了下来。突然发现万一字母个数太多了怎么办?但还是先把26个字母抄给了老师看看。
6ABCDEFGHIJKLMNOPQRSTUVWXYZA G M S YB H N T ZC I O UD J P VE K Q WF L R X
输入:
输入一个正整数n,之后就是一行输入N个字符(N不超过1000)。
(我们保证n*n>N.)
输出:
格式同上,转化为古文模式,让小明称为一名合格的诗人!
坑主要在空格的输出。注意点就好了。
代码如下:
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct node{int sum;char temp[100];}a[1000];int main(){ int n;cin>>n;char k[1005];memset(a,0,sizeof(a)); //初始化for(int i=0;i<n;i++){for(int j=0;j<n;j++){a[i].temp[j] = ' '; //初始化字符。}}getchar();gets(k); for(int i=0;i<strlen(k);i++){a[i%n].temp[a[i%n].sum++]=k[i];//将i的位置的字符,放在第i%n的行,第sum的位置上面。} for(int i=0;i<n;i++) { int ff=0; for(int j=0;j<n;j++) { if(ff++!=0) cout<<' ';cout<<a[i].temp[j]; //依次输出第i行的,n个字符。 } cout<<endl; } return 0;}
处理空格的问题: 在循环初始化的循环中,时间太多了。(1)如果单用例的。可以考虑在结构体里面初始化。 char temp[100] = ' ';(2)多用咧的时候,在循环中,处理空格,可以看每一行的sum的数目,如果sum==n则不管,不然就用空格去替补输出达到n个字符。用一个if...else语句搞定。
阅读全文
0 0
- 我要做诗人
- 真我流诗人
- 谈一谈我最喜欢的诗人--法国诗人波德莱尔
- 做不了诗人,也可以吟唱美好
- 聂沛:我所喜爱的30位外国现代诗人
- 我本是诗人,却操戈卫国 --- 于谦
- 我要做程序员
- 我要这么做
- 我要做了
- 我要做的
- 我要做的
- 我要做大神
- 又要我做决定!
- 你要我怎么做
- 我到底要做什么?
- 我要做妈妈啦
- 我要做一个大侠
- 我要自己做网站
- 仿微博滚动视图嵌套的手势处理
- RelativeLayout相对布局
- linux信号量的理解及使用
- 写在高考一年后
- [vim] 命令行界面的储存,离开等指令
- 我要做诗人
- More than one way to get gcd(greatest common divisor,最大公约数)
- 人工智能一种现代化学习方法——学习笔记(13章)
- 在Ubuntu 14中安装配置smarty
- Median of Two Sorted Arrays
- TCP协议常见技术细节及原理
- Java的面向对象说明,以及类和对象的详解
- Opencv 安装/卸载教程
- 进程中的标识符和键(ftok函数创建)(共享内存,消息队列,信号量用到的)