2 条题解

  • 3
    @ 2022-10-15 20:24:45

    基本思路:双循环控制行和列,由X宽度和高度已知矩形的整体宽度len。

    循环每一行时得到每行需要打印 * 的索引范围,打印 * ,其余的打印 . 即可;

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <string>
    using namespace std;
    int n, m, t = 0, l = 1, len;
    int main()
    {
        cin >> n >> m;
        len = m + n - 1; //找到的规律
        for (int i = 1; i <= m; i++)
        {
            for (int j = 1; j <= m + n - 1; j++)
            {
                if (j >= l && j <= l + n - 1 || j >= len - n + 1 && j <= len)
                {
                    cout << "*"; //在不在两个区间内
                }
                else
                {
                    cout << ".";
                }
            }
            cout << endl;
            l++, len--;
        }
        return 0;
    }
    
    • 1
      @ 2022-10-16 15:52:22
      #include<stdio.h>
      int main(){
      	int m,n;
      	scanf("%d %d",&m,&n);
      	int a=(n/2)*2+m;
      	for(int i=0;i<n/2;i++){
      		int b=a-2*m-2*i;
      		for(int j=1;j<=i;j++) printf(".");
      		if((a-2*i)>2*m){
      			for(int j=1;j<=m;j++) printf("*");
      			for(int j=1;j<=b;j++) printf(".");
      			for(int j=1;j<=m;j++) printf("*");
      		}else{
      			for(int j=1;j<=a-2*i;j++){
      				printf("*");
      			}
      		}
      		for(int j=1;j<=i;j++) printf(".");
      		printf("\n");
      	}
      	for(int i=1;i<=(a-m)/2;i++) printf(".");
      	for(int i=1;i<=m;i++) printf("*");
      	for(int i=1;i<=(a-m)/2;i++) printf(".");
      	printf("\n");
      	for(int i=n/2-1;i>=0;i--){
      		int b=a-2*m-2*i;
      		for(int j=1;j<=i;j++) printf(".");
      		if((a-2*i)>2*m){
      			for(int j=1;j<=m;j++) printf("*");
      			for(int j=1;j<=b;j++) printf(".");
      			for(int j=1;j<=m;j++) printf("*");
      		}else{
      			for(int j=1;j<=a-2*i;j++){
      				printf("*");
      			}
      		}
      		for(int j=1;j<=i;j++) printf(".");
      		printf("\n");
      	}
      	return 0;
      }
      
      • 1

      信息

      ID
      790
      时间
      1000ms
      内存
      256MiB
      难度
      2
      标签
      递交数
      247
      已通过
      74
      上传者