day_2-acm 小技巧
2016-07-12 19:51
357 查看
单个字符读取时遇到空格的处理
经常碰到字符与数据的同时标准格式输入,但是在键入过程中难免碰到空格、换行、等字符问题。
话不多少,直接来看题目和代码吧。原题
空心三角形
Problem Description把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。
Input
每行包含一个字符和一个整数n(0
Output
每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。
Sample Input
X 2
A 7
@
Sample Output
X XXX A A A A A A A A A A A AAAAAAAAAAAAA
代码块
include <stdio.h> include <string.h> include <conio.h> int main () { char ch,str[10]; int n; int kk=0; scanf("%s",str); ch=str[0];//此处有技巧 while (ch!='@') { if(kk!=0) printf ("\n"); kk++; scanf("%d",&n); int i,j,k; for (i=0;i<n-1;i++) { for(j=n-1-i;j>0;j--) printf (" "); printf ("%c",ch); if(i==0) { printf("\n"); continue ; } for(k=1;k<2*i;k++) printf (" "); printf ("%c\n",ch); } for(i=1;i<2*n;i++) printf ("%c",ch); printf ("\n"); scanf("%s",str); ch=str[0]; } return 0; }
总结
设置一个一定长度的字符数组,读取时会将不得不键入的空格和装行符号一起读取scanf("%s",str);,然后在用
ch=str[0];来读取所需要的字符。这样子就解决了在后续的读入数据中前面所键入的空格和转行符号的影响了。
相关文章推荐
- 简单的四则运算
- 数的奇偶性
- ACMer博客瀑布流分析
- ACM程序设计大赛题目分类
- 2015年acm国内排名
- 计算字符串最后一个单词长度
- ACM网址
- 1272 小希的迷宫
- 1272 小希的迷宫
- hdu 1250 大数相加并用数组储存
- 矩阵的乘法操作
- 蚂蚁爬行问题
- 蚂蚁爬行问题
- 求两个数的最大公约数【ACM基础题】
- 打印出二进制中所有1的位置
- 杭电题目---一只小蜜蜂
- HDOJ 1002 A + B Problem II (Big Numbers Addition)
- 初学ACM - 半数集(Half Set)问题 NOJ 1010 / FOJ 1207
- 初学ACM - 组合数学基础题目PKU 1833
- 【HDU 5366】The mook jong 详解