1031. Hello World for U (20)[通俗易懂]

1031. Hello World for U (20)

大家好,又见面了,我是全栈君。

题目链接:http://www.patest.cn/contests/pat-a-practise/1031

题目:

分析:

排版题。注意先计算好最后一排的字符数,然后计算前面几排的空格数。难度不大

这里有个小技巧,就是先把要输出的结果都存储到ouput[ ]字符数组中。等所有拍好后再输出output[ ]就可以。这样能够方便得写处于右边的一列的循环。

AC代码:

#include<stdio.h>
#include<string>
using namespace std;
char output[30][30];//用于存储结果最后输出
char str[81];
int main(void){
 //freopen("F://Temp/input.txt","r",stdin);
 gets(str);
 string str1 = string(str);
 int size = str1.size();
 int h = (size + 2) / 3;
 int w = size - 2 * h;
 int point = 0;
 for(int i= 0;i <h;i ++){
  for(int j= 0;j <w+ 2;j ++){
   output[i][j] = ' ';
  }
 }
 for(int i = 0;i < h;i ++,point ++){
  output[i][0] = str[point];
 }//最左边的一列
 for(int i= 1;i <= w;i ++,point ++){
  output[h - 1][i] = str[point];
 }//最以下一行
 for(int i= h - 1; i >= 0;i --,point ++){
  output[i][w + 1] = str[point];
 }//最右边一列
 for(int i= 0;i < h;i ++){
  for(int j= 0 ;j <w+ 2;j ++){
   printf("%c",output[i][j]);
  }
  printf("\n");
 }
 return 0;
}

截图:

1031. Hello World for U (20)[通俗易懂]

——Apie陈小旭

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115610.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号