解题思路:先写上一半,再写下一半,找规律循环输出。
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:589 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:522 |
简单的a+b (C语言代码)浏览:575 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:547 |
字符逆序 (C语言代码)浏览:614 |
1014题解浏览:484 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:557 |
C二级辅导-阶乘数列 (C语言代码)浏览:512 |
矩形面积交 (C语言代码)浏览:1301 |