解题思路:先写上一半,再写下一半,找规律循环输出。
注意事项:
参考代码:
#include <stdio.h> int main(){ int m,n; scanf("%d %d",&m,&n); //m:列数;n:行数 for(int i=0;i<=n/2;i++){ //行,输出前一半的行数 for(int j=0;j<m+n-1;j++){ //列,通过找规律得出:m+n-1=列数 if((j>=i && j<m+i) || (j>=n-1-i && j<n-1-i+m)) //根据行列输出要求确定 printf("*"); else printf("."); } printf("\n"); } for(int i=n/2-1;i>=0;i--){ //行,后一半要少输出一行 for(int j=0;j<m+n-1;j++){ //列 if((j>=i && j<m+i) || (j>=n-1-i && j<n-1-i+m)) printf("*"); else printf("."); } printf("\n"); } return 0; }
0.0分
2 人评分
简单编码 (C++代码)浏览:678 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:625 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:936 |
C语言程序设计教程(第三版)课后习题9.3 (Java代码)浏览:966 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:904 |
打水问题 (C语言代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1420 |
用筛法求之N内的素数。 (C语言代码)浏览:653 |
关于C语言变量位置的问题浏览:273 |
字符逆序 (C语言代码)浏览:460 |