[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批处理 输出方框

本帖最后由 plp626 于 2012-5-22 18:36 编辑

网上找来的一个练习题, 有些人的代码走了弯路,发来看看大家的结果;
  1. -->test 1
  2. x
  3. -->test 2
  4. x x x
  5. x y x
  6. x x x
  7. -->test 3
  8. x x x x x
  9. x y y y x
  10. x y z y x
  11. x y y y x
  12. x x x x x
  13. -->test 4
  14. x x x x x x x
  15. x y y y y y x
  16. x y z z z y x
  17. x y z 1 z y x
  18. x y z z z y x
  19. x y y y y y x
  20. x x x x x x x
  21. -->test 5
  22. x x x x x x x x x
  23. x y y y y y y y x
  24. x y z z z z z y x
  25. x y z 0 0 0 z y x
  26. x y z 0 1 0 z y x
  27. x y z 0 0 0 z y x
  28. x y z z z z z y x
  29. x y y y y y y y x
  30. x x x x x x x x x
  31. -->test 6
  32. x x x x x x x x x x x
  33. x y y y y y y y y y x
  34. x y z z z z z z z y x
  35. x y z 0 0 0 0 0 z y x
  36. x y z 0 0 0 0 0 z y x
  37. x y z 0 0 1 0 0 z y x
  38. x y z 0 0 0 0 0 z y x
  39. x y z 0 0 0 0 0 z y x
  40. x y z z z z z z z y x
  41. x y y y y y y y y y x
  42. x x x x x x x x x x x
  43. -->test 7
  44. x x x x x x x x x x x x x
  45. x y y y y y y y y y y y x
  46. x y z z z z z z z z z y x
  47. x y z 0 0 0 0 0 0 0 z y x
  48. x y z 0 0 0 0 0 0 0 z y x
  49. x y z 0 0 0 0 0 0 0 z y x
  50. x y z 0 0 0 1 0 0 0 z y x
  51. x y z 0 0 0 0 0 0 0 z y x
  52. x y z 0 0 0 0 0 0 0 z y x
  53. x y z 0 0 0 0 0 0 0 z y x
  54. x y z z z z z z z z z y x
  55. x y y y y y y y y y y y x
  56. x x x x x x x x x x x x x
复制代码
规律就是如此(test后面的参数 小于100),请编写一个批处理程序,实现以上输出

不准骄傲, 赛代码。。。

TOP

我是用C写的
  1. ,#include <stdio.h>
  2. #define  ABS(X)  ((X)>=0 ? (X) : (-(X)))
  3. int main(int argc, char **argv)
  4. {
  5. argc != 2 ? printf("Usage: %s", "Missing!"),exit(1) : 0;
  6. int c,n=0;
  7. while(c=*argv[1]++)
  8. n = n * 10 + c - '0';
  9. int i, j, ii, jj, map[100]={'x','y','z'};
  10. for (i=3; i<n-1; i++)
  11. map[i]='0';
  12. n>3 ? map[n-1]='1': 0;
  13. for (i=0; i<2*n-1; i++){
  14. for (j=0; j<2*n-1; j++){
  15. ii = ABS(n-i-1),jj = ABS(n-j-1);
  16. printf("%c ",map[n-1-(ii>jj ? ii:jj)]);
  17. }
  18. printf("\n");
  19. }
  20. return 0;
  21. }
复制代码

TOP

返回列表