pat(B) 1027. 打印沙漏(输入输出)
2015-08-25 22:57
375 查看
1.memset(s,c,sizeof(s));c是char型变量。
2.strncpy(s2,s1,r);把s1的前r个字符复制到s2的前r个中,但在s2的末尾不会自动添加'\0'.
3.strcpy(s2,s1);把s1的字符复制到s2中,但在s2的末尾会自动添加'\0'.
4.代码:
2.strncpy(s2,s1,r);把s1的前r个字符复制到s2的前r个中,但在s2的末尾不会自动添加'\0'.
3.strcpy(s2,s1);把s1的字符复制到s2中,但在s2的末尾会自动添加'\0'.
4.代码:
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; char s[10000]; int main() { int n,i,j; char c; while(scanf("%d%*c%c",&n,&c)!=EOF) { memset(s,c,sizeof(s)); int x=1; while(2*x*x-1<=n&&2*(x+1)*(x+1)-1<=n) x++; int xx=n-2*x*x+1; for(i=0;i<x;i++) { int r=2*x-1-i*2; char ss[10000]; strncpy(ss,s,r); ss[r]='\0'; for(j=i;j>0;j--) { printf(" "); } printf("%s",ss); printf("\n"); } for(i=x-2;i>=0;i--) { int r=2*x-1-i*2; char ss[10000]; strncpy(ss,s,r); ss[r]='\0'; for(j=i;j>0;j--) printf(" "); printf("%s",ss); printf("\n"); } printf("%d\n",xx); } return 0; }
相关文章推荐
- javadoc中文档注释标记的使用
- PreTranslateMessage DoModal() ASSERT(::IsWindow(m_hWnd)
- [学习笔记]线性表的链式存储
- [leetcode] 117.Populating Next Right Pointers in Each Node II
- [LeedCode OJ]#48 Rotate Image
- UVA - 658 It's not a Bug, it's a Feature! (隐式图的最短路,位运算)
- TCP/IP协议
- stack 的入门
- python_学习笔记0825
- iphone开发之UIButton按钮的使用(二)拖线实现 多个按钮用同一个监听方法实现
- group by cube 用法
- git 学习
- hdoj 1698 Just a Hook【线段树区间修改】
- php微信开发 (获取用户地理位置)
- 安装Apache时可能会遇到的问题
- 1.大数据基础(上)_2.大数据的商业应用
- CCCamera,CCAtlasNode源码解析
- gdb调试多线程
- 扩展KMP - HDU 4333 Revolving Digits
- Android应用开发之所有动画使用详解