解题思路:先写上一半,再写下一半,找规律循环输出。
注意事项:
参考代码:
#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.1 (Java代码)浏览:828 |
【出圈】 (C语言代码)浏览:824 |
a+b浏览:452 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:561 |
Hello, world! (C语言代码)浏览:766 |
数组与指针的问题浏览:760 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:571 |
数列排序 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1029 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:2206 |