42:画矩形

╰半夏微凉° 2022-04-10 01:27 340阅读 0赞

总时间限制:

1000ms

内存限制:

65536kB

描述

根据参数,画出矩形。

输入

输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。

输出

输出画出的图形。

样例输入

  1. 7 7 @ 0

样例输出

  1. @@@@@@@
  2. @ @
  3. @ @
  4. @ @
  5. @ @
  6. @ @
  7. @@@@@@@

解法1:

  1. #include<cstdio>
  2. int main()
  3. {
  4. int h,l,c,p;
  5. scanf("%d %d %c %d",&h,&l,&c,&p);//空格也算是字符,所以%d之间要用空格隔开,否则%c读取的是空格
  6. if(p == 1)
  7. {
  8. for(int i = 1; i <= h; ++i)
  9. {
  10. for(int j = 1; j <= l; ++j)
  11. {
  12. printf("%c",c);
  13. }
  14. printf("\n");
  15. }
  16. }
  17. else
  18. {
  19. for(int i = 1; i <= h; ++i)
  20. {
  21. for(int j = 1; j <= l; ++j)
  22. {
  23. if(i!=1 && i!=h && j!=1 && j!=l)//当不是第一行最后一行,第一列最后一列时,输出空格
  24. {
  25. printf(" ");
  26. }
  27. else
  28. printf("%c",c);
  29. }
  30. printf("\n");
  31. }
  32. }
  33. return 0;
  34. }

解法2:

  1. #include<cstdio>
  2. int main()
  3. {
  4. int h,l,c,p;
  5. scanf("%d %d %c %d",&h,&l,&c,&p);//空格也算是字符,所以%d之间要用空格隔开,否则%c读取的是空格
  6. for(int i = 1; i <= h; ++i)
  7. {
  8. for(int j = 1; j <= l; ++j)
  9. {
  10. if(p==1)
  11. {
  12. printf("%c",c);
  13. }
  14. else
  15. {
  16. if(i!=1 && i!= h && j!=1 && j!=l)
  17. {
  18. printf(" ");
  19. }
  20. else
  21. printf("%c",c);
  22. }
  23. }
  24. printf("\n");
  25. }
  26. return 0;
  27. }

解法3:

  1. #include<cstdio>
  2. int main()
  3. {
  4. int h,l,c,p;
  5. scanf("%d %d %c %d",&h,&l,&c,&p);//空格也算是字符,所以%d之间要用空格隔开,否则%c读取的是空格
  6. for(int i = 1; i <= h; ++i)
  7. {
  8. for(int j = 1; j <= l; ++j)
  9. {
  10. if(!p && i!=1 && i!= h && j!=1 && j!=l)
  11. {
  12. printf(" ");
  13. }
  14. else
  15. printf("%c",c);
  16. }
  17. printf("\n");
  18. }
  19. return 0;
  20. }

反思:这个题在用scanf做的时候要特别注意字符输入的问题,如果 scanf(“%d %d %c %d”,&h,&l,&c,&p);%d%d%c%d之间如果不加空格,到时候输入数据的时候%c读取的就是空格,就会导致程序出错。

以后调试的时候,记得要多断点输出,容易查找错误。

发表评论

表情:
评论列表 (有 0 条评论,340人围观)

还没有评论,来说两句吧...

相关阅读

    相关 42:矩形

    总时间限制: 1000ms 内存限制: 65536kB 描述 根据参数,画出矩形。 输入 输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于