参考代码:

#include <cstdio>
#include <cstring> int main()
{
char str[100], ans[40][40];
scanf("%s", str);
int N = strlen(str);
int n1 = (N + 2)/3;///是左右两边的字符数量
int n2 = N - n1 * 2 + 2;///是底部的字符数量
int post = 0; ///用于给str增加下标
for(int i = 1; i <= n1; i++)
{
for(int j = 1; j <= n2; j++)
{
ans[i][j] = ' ';
}
} for(int i = 1; i <= n1; i++)
{
ans[i][1] = str[post++];
}
for(int i = 2; i <= n2; i++)
{
ans[n1][i] = str[post++];
}
for(int i = n1-1; i >= 1; i--)
{
ans[i][n2] = str[post++];
} for(int i = 1; i <= n1; i++)
{
for(int j = 1; j <= n2; j++)
{
printf("%c", ans[i][j]);
}
printf("\n");
} return 0;
}

PATA1031 Hello World for U的更多相关文章

随机推荐

  1. 通过JS下载 or 唤起App

    判断唤起app的连接是否在WeChat中打开 let isWeiXin = navigator.userAgent.toLowerCase().indexOf('micromessenger') != ...

  2. 删除链表中的倒数第N个节点

    题目 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: ->->->->, 和 n = . 当删除了倒数第二个节点后,链表变为 -&g ...

  3. ASP.NET MVC+Easyui 后台管理系统的图片上传

    实现图片的上传 easyui代码部分: //添加按钮 var URL; $("#btnCreate").click(function () { $('#UserDialog').d ...

  4. vue数据修改不同步更新的问题解决方案

    最近在做一个组件封装的功能,用到父组件将数组(this.DataSource,this.DefaultItem)传到给子组件,子组件接受该数组来进行添加数组和删除数组的操作.因为子组件无法直接修改父组 ...

  5. css画三角形原理解析

    <div id="div1"></div><div id="div2"></div><div id=&qu ...

  6. C#操作XML文档

    Note: '=> ' 表示返回值 参考资料:请点击这里! 1:创建Xml文档 2:写Xml文档(必须保证有根元素) XmlDocument Xd (实例化一个对象) CreateXmlDecl ...

  7. python 数据结构之图的储存方式

    参考链接:https://blog.csdn.net/u014281392/article/details/79120406 所描述的图的结构为: 下面介绍不同的储存方式,我想不必详细分别是每个名称都 ...

  8. 离散数学交并补运算、差运算、异或运算的实现--biaobiao88

    对集合的交并补运算.差运算及异或运算的代码,可输入字符与数字,内容简单,详情请看以下代码 #include<iostream> using namespace std; int main( ...

  9. Java中关于位运算的面试题

    位运算的效率是最高的,因为位位运算是直接对二进制进行操作 位运算只能应用于整型和char类型(char类型可以看做是特殊的无符号的整形) 面试题: a: 判断一个数是否是奇数 a & 1 == ...

  10. 设置ItelliJ IDEA里修改jsp不重启tomcat

    设置ItelliJ IDEA里修改jsp不重启tomcat On Upate Action 与 On Frame Deactivation 这两个选项的设置,依赖于 项目的部署方式 是war包 还是 ...