蓝桥杯B六----格子中居中输出问题
2016-03-16 10:00
337 查看
格子中输出
StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。
如果不能恰好居中,可以稍稍偏左或者偏上一点。
下面的程序实现这个逻辑,请填写划线部分缺少的代码。
1 strcpy(buf, s);
字符串粘贴函数.
2 buf[width-2]=0
3 “%*s%s%*s” 百度到的:
取决于在scanf中使用还是在printf中使用。
在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。
例如:int a,b;char b[10];scanf(“%d%*s”,&a,b);输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)
在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。
例如:
printf(“%s”, 10, s); /意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf(“%10s”, s);*/
StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。
如果不能恰好居中,可以稍稍偏左或者偏上一点。
下面的程序实现这个逻辑,请填写划线部分缺少的代码。
include
include
+————+
不知道的语法点:1 strcpy(buf, s);
字符串粘贴函数.
2 buf[width-2]=0
3 “%*s%s%*s” 百度到的:
取决于在scanf中使用还是在printf中使用。
在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。
例如:int a,b;char b[10];scanf(“%d%*s”,&a,b);输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)
在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。
例如:
printf(“%s”, 10, s); /意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf(“%10s”, s);*/
相关文章推荐
- 怎样在iis中发布asp.net网站
- Android RecyclerView 使用完全解析 体验艺术般的控件
- [shell]管理 Sphinx 启动|停止|重新生成索引的脚本
- 打印堆栈
- C++设计模式——单例模式 系列
- linux下.sh文件语法
- WebView与static引用内存泄露(LeakCanary)-android
- Content的startActivity方法需添加FLAG_ACTIVITY_NEW_TASK flag
- Java判断两个二叉树是否相同
- 通过 ulimit 改善系统性能
- Error:(26, 13) Failed to resolve: com.squareup.picasso:picasso:2.5.2 的解决
- rzsz安装【转】
- Spring Bean 的作用域
- qt多线程编程出现QPixmap: It is not safe to use pixmaps outside the GUI thread问题
- Echats for .NET
- Swift中的内存管理
- cocoapods 在product没有显示的问题
- camera驱动
- 点击任意空白收回键盘
- looper handler