题意:

格式化代码。每个单词对齐,至少隔开一个空格。

思路:

模拟。求出每个单词最大长度,然后按行输出。

代码:

#include <cstdio>
#include <cstdlib>
#include <cstring> char words[][][];
int maxLen[]; char tmp[]; typedef char * pchar; int readStr(pchar &str, char *out) {
int num = ;
int ret = sscanf(str, "%s%n", out, &num);
//printf("str = %s\n", str);
str += num;
return ret;
} void myprint(char *str, int len) {
int i = ;
for (i = ; str[i]; i++) {
putchar(str[i]);
}
for (; i < len; i++) {
putchar(' ');
}
} int main() {
char *p;
int nowLine = ;
while (gets(tmp)) {
p = tmp;
int i = ;
while (readStr(p, words[nowLine][i]) != -) {
i++;
}
nowLine++;
} for (int i = ; i < nowLine; i++) {
for (int j = ; j < ; j++) {
if (strlen(words[i][j]) > maxLen[j]) {
maxLen[j] = strlen(words[i][j]);
}
}
} for (int i = ; i < nowLine; i++) {
for (int j = ; j < ; j++) {
if (strlen(words[i][j]) != ) {
if (j != ) printf(" ");
if (strlen(words[i][j+])) myprint(words[i][j], maxLen[j]);
else printf("%s", words[i][j]);
} else break;
}
printf("\n");
} return ;
}

最新文章

  1. DotNet 资源大全中文版【转】
  2. mysql connector 和 sqlserver ado.net 的区别
  3. linux shell 报错 Syntax error: Bad for loop variable
  4. Codeforces 733C:Epidemic in Monstropolis(暴力贪心)
  5. oracle常用命令总结
  6. 【回忆1314】回忆之placeholder
  7. 第九十八节,JavaScript语法、关键保留字及变量
  8. 开源纯C#工控网关+组态软件
  9. c# word文档与二进制数据的相互转换
  10. 20162328蔡文琛week06
  11. Linux下Apache服务的查看和启动
  12. minimun depth of binary tree
  13. Face The Right Way [POJ3276] [开关问题]
  14. seq2seq笔记
  15. HTML常用标签定义,用法及例子
  16. JVM总结(六):早期(编译期)优化
  17. shell 终端常用插件
  18. Django----ModelFrom
  19. 【Hadoop学习之十一】MapReduce案例分析三-PageRank
  20. C++解析七-重载运算符和重载函数

热门文章

  1. Android 微信支付步骤
  2. JS 金钱格式化
  3. android版本vqmon移植IOS版
  4. Windows系统安装测试redis
  5. 通过学习制作长微博工具来了解水印的制作,及EditText中的内容在图片中换行显示
  6. Restful API实战
  7. jquery validate 使用示范
  8. Python数据分析-Numpy数值计算
  9. SpringMVC&lt;一&gt; 基本结构与配置
  10. iOS如何隐藏状态栏,包括网络标志、时间标志、电池标志等