格子中输出

StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。
如果不能恰好居中,可以稍稍偏左或者偏上一点。

下面的程序实现这个逻辑,请填写划线部分缺少的代码。

#include <stdio.h>
#include <string.h>

void StringInGrid(int width, int height, const char* s)
{
int i,k;
char buf[1000];
strcpy(buf, s);
if(strlen(s)>width-2) buf[width-2]=0;

printf("+");
for(i=0;i<width-2;i++) printf("-");
printf("+\n");

for(k=1; k<(height-1)/2;k++){
printf("|");
for(i=0;i<width-2;i++) printf(" ");
printf("|\n");
}

printf("|");

printf("%*s%s%*s",_____________________________________________); //填空

printf("|\n");

for(k=(height-1)/2+1; k<height-1; k++){
printf("|");
for(i=0;i<width-2;i++) printf(" ");
printf("|\n");
}

printf("+");
for(i=0;i<width-2;i++) printf("-");
printf("+\n");
}

int main()
{
StringInGrid(20,6,"abcd1234");
return 0;
}

对于题目中数据,应该输出:

注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。

时间: 2024-08-11 05:43:58

格子中输出的相关文章

2015 蓝桥杯:4.格子中输出

*/--> pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;} pre.src {background-color: Black; color: White;}

PHP中输出缓冲

在PHP中,当执行echo,print的时候,输出并没有立即通过tcp传给客户端浏览器显示, 而是将数据写入php buffer.php output_buffering机制,意味在tcp buffer之前,建立了一新的队列,数据必须经过该队列.当一个php buffer写满的时候,脚本进程会将php buffer中的输出数据交给系统内核交由tcp传给浏览器显示.所以,数据会依次写到这几个地方echo/pring -> php buffer -> tcp buffer -> browse

在java中输出水仙花数

100~1000之间各位的立方和与这个数自己相等的数即为水仙花数 1 public static void main(String[] args) { 2 for(int i=100;i<1000;i++){ 3 int n=i; 4 int gewei=n%10; 5 n/=10; 6 int shiwei=n%10; 7 n/=10; 8 if(n*100+shiwei*10+gewei==n*n*n+shiwei*shiwei*shiwei+gewei*gewei*gewei){ 9 Sy

Maya中输出alembic文件的方法

Maya中输出alembic文件是有现成api调用的,与maya中大部分api一样,这个功能参数的传入是非常类似mel的,本质上讲都是kwargs类型的参数,所以我们传入的参数就需要整理成类似于mel的命令行形式. 首先我们来看mel中如何导出ablembic文件,mel命令格式为: AbcExport -j "-frameRange 1001 1148 -uvWrite -worldSpace -root |trk_track|trk_mesh|trk_ground -file D:/abc.

JavaScript基础 在body中输出普通的字符串 document.write

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

在当前命令行下启动tomcat并让日志在当前命令行中输出

tomcat的startup脚本会在后台启动tomcat,无法在当前命令行中输出日志,在linux下这样debug会有点不方便: 解决办法: 本来是调用startup.sh启动tomcat,改为调用catalina.sh 并传递一个参数 run ./catalina.sh run 就可以了

javascript小实例,在页面中输出当前客户端时间

时间对象(Date())比较简单,本文旨在为初学者入门使用,大牛可略过! 本文承接基础知识实例,说一下实例的要求: 在页面中输出当前客户端时间(2015年1月1日星期一10:10:10这样的格式),每过一秒中页面不刷新,但是时间自动更新(用两种定时器方法都可以实现),鼠标点击时间,如果原先运动则停止,如果停止则继续运动: 要求基本上可分为2部分:一是不刷新自动更新时间,二是点击时间停止或更新时间 好,那我们还是老规矩,一步一步来,既然是时间,那就会用到时间对象 new Date(); 1 var

java练习源码在键盘上随机输入n个数字存入list中输出其从大到小的结果!

/* * 在键盘上随机输入n个数字存入List中输出其从大到小的结果 */ public class Test01 { public static void main(String[] args) { List list1=new ArrayList(); Integer cnt=0; for(int i=0;i<args.length;i++) {list1.add(cnt.parseInt(args[i]));//String转型为Integer后存入list1中 } System.out.

MVC 中输出Html标签的方法

@: item.content 用过ASP.NET MVC的人都知道,这是MVC的基本输出的方式,但是最近我在写一个页面的时候,却碰上了一个问题,我需要在一个div中输出一个<br />标签,然而他却直接把<br />给输了出来,这确实让人很郁闷. 我看了一下代码,原来在输出的时候,这种方式直接把<和>给变换成了<和>,所以我想尽任何编码解码的方式想要把这个给还原出来,然而什么都没有效果. 在不断摸索之后我发现了简单的不能再简单的方法, @(new Html