解题思路:先写上一半,再写下一半,找规律循环输出。
注意事项:
参考代码:
#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 人评分
A+B for Input-Output Practice (V) (C++代码)浏览:450 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:603 |
WU-复数求和 (C++代码)浏览:1995 |
1908题解浏览:633 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:553 |
字符串输入输出函数 (C语言代码)浏览:2479 |
程序员的表白 (C语言代码)浏览:588 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1027 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:381 |
C二级辅导-温度转换 (C语言代码)浏览:540 |