c 打印图形-传入字符串 打印N字图形

问题描述

传入字符串 打印N字图形

传入字符串 打印N字图形 该怎么搞 用函数写 具体图形见下图

解决方案

观察一下特点

1)字符串的长度为n,那么就要输出n行,且第i行的字符也就是字符串的第i个字符
2)每行的长度等于字符串的长度,除了第一行和最后一行之外,均有三个相同的字符。
3)每行有位置变化的字符,其位置从上到下在不断右移,而这个字符的前后空格数量也是一个等差数列。

这意味着一个循环就可以搞定。
由1)可知需要循环n次,那么字符串的长度n要先求出来。循环变量设置为行号line,从0到n-1。
由2)可知当line==0和line==n-1的时候需要特殊处理,先输出一个该行对应的字符(字符串[line]),然后是空格,输出的空格数量是n-2,再输出一个对应的字符。
由3)可知当line从1循环到n-2的时候,对应每行的输出数据应该是“字符1+空格1+字符2+空格2+字符3”,整行的长度为n,且字符1==字符2==字符3==字符串[line]。空格1对应的空格个数为line-1(第二行时line==1所以line-1==0也就是这个位置不会输出空格,与实际相符),空格2对应的个数为n-3-(line-1)个(同理倒数第二行时这个位置不会输出空格)。

然后你就可以循环了,处理任意长度的字符串均可,但要考虑控制台窗口的大小,太长的话输出就乱掉了。

解决方案二:

定义一个10乘10的二维矩阵,然后添加IF判断,当列数为0和9,或者行数与列数相同的时候,讲字符串中的第i个字符赋值,其余的赋值为空格,就可以了

时间: 2025-01-25 14:25:33

c 打印图形-传入字符串 打印N字图形的相关文章

输入一个字符串并打印出该字符串中字符的所有排列

题目: 输入一个字符串, 打印出该字符串中字符的所有排列. 方法: 使用递归依次交换位置, 打印输出. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> void Permutation(char* str, char* begin); void Permutation(char* str){ if(str == NULL) r

ios-iOS如何连接打印机,打印一段字符串

问题描述 iOS如何连接打印机,打印一段字符串 我想要再ipad程序里面,用代码给打印机发送一段字符串,然后打印. 各位,我的问题没有说清楚,不好意思. 情况是这样的,我现在想要连接到打印机,wifi的,然后给打印机发送一个字符串去打印.连接打印机不知道怎么连接,然后发送消息这个也不知道咋整.各位帮帮忙. 打印机和ipad在同一个局域网下,想用socket通过打印机的ip地址进行传送要打印的内容. 解决方案 .h 里面 #import <UIKit/UIKit.h> #import "

请问中文字符串打印不出来怎么解决?

问题描述 请问中文字符串打印不出来怎么解决? 解决方案 文件保存的编码格式选择utf8或者unicode试试看 解决方案二: 可能是你的控制台编码方式是GBK,而你的文件是utf8什么的 Run Configurations里的Common中将编码方式改成GBK试试. 具体设置参考:http://www.tuicool.com/articles/uEj2qy

string-java字符串中求字串的个数。求大神指点。谢谢

问题描述 java字符串中求字串的个数.求大神指点.谢谢 package z_1; public class Z_4 { /* * 计算某个字符串在另一个字符串中出现的次数 */ public static void main(String[] args) { // TODO Auto-generated method stub String s="kkaaskkadidkkddspqlkk"; getCount(s,"kk"); sop(getCount(s,&q

cad打印设置成横向打印的方法

  cad打印设置成横向打印的方法 cad cad打印设置成横向打印的方法: 选择打印机后,点打印--可以在打印选项中--图形方向--设置打印的方向; 选项面板是可以隐藏一部分的,点右下角的箭头; 多数打印机的设置都一样; 设置横向; cad 设置纵向. cad 延伸阅读:CAD打印设置横向无效的解决方法 打印CAD图的时候,在打印里面设置成横向以后,预览还是纵向的,表明在打印属性里面设置的横向打印无效.解决办法是: 文件->页面设置管理器->修改->在左上角选择打印机名称,在右下角选择

调用IE内置打印组件完成web打印方案及例程

web|web打印 调用IE内置打印组件完成web打印方案及例程(10.28) 重点:<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT> </OBJECT><input type=button value=打印 onclick="document.all.WebBrowser.ExecWB(6,1)" cl

对话框打印预览及打印

近来我在用VC开发一套MIS时没有用MFC的文档视图模板,所以在打印这上面就只好自己写了一套,用起来感觉还可以,所以写出来大家一起修正一下吧,也许能给大家起点作用吧! 系统UI是基于对话框的,大家如果感觉不错可以进行自我修正! 我们先来看看程序界面: 其中的学生数据现在我们已从数据库取出放在,ListCtrl控件中了,这样就为我们在打印时提供了方便,不需要再去数据重新提取数据了. 在点了打印按钮后,打印预览界面: 在预览界面中,提供了鼠标上下左右滚动功能.好了来说代码吧,在此共用了两个继承 Cd

Win7打印机发送打印命令后不打印自动消失怎么办

  Win7打印机发送打印命令后不打印自动消失怎么办          当我们遇到给打印机发送打印命令,打印机不反应的状况,过30秒左右打印命令会突然消失,我们先不要着急,这是因为打印机打印时需要调用Windos目录下的一个临时文件夹Temp暂时存储,而这个文件夹已丢失,添加即可.在Windos添加Temp的文件夹目录如下C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\ 1.打开[我的计算机]-[C盘]中的[Windows]文

excel怎么打印多个工作表?将多个工作表生成一个打印文件一次打印出来的技巧

  日常工作的很多时候需要打印工作表,如果需要打的文件很多,依次点开打印会非常麻烦,那么可不可以将数个工作表生成一个打印文件一次打印出来呢?答案是可以,本篇就来与大家分享一下具体的操作方法. 1.如图所示,想把工作薄中的三个sheet表一次打印出来. 2.首先选中sheet1 3.按住ctrl 4.然后用鼠标选中其他的表 5.点击打印预览,可以看到这几个表格已经合成一个打印文件了.