3 条题解

  • 1
    @ 2025-7-15 9:46:36
    #include <bits/stdc++.h> 
    using namespace std;
    int main ()
    {
    	char n;
    	int a,b,c=1;
    	cin>>n>>a;
    	b=a;
    	for(int i=1;i<=a;i++)
    	{
    		b--;
    		for(int j=1;j<=b;j++)
    		{
    			cout<<' ';
    		}
    		for(int j=1;j<=c;j++)
    		{
    			cout<<n;
    		}
    		cout<<endl;
    		c+=2;
    	}
    	return 0;
    }
    
    • 1
      @ 2024-12-12 17:43:50

      #include <bits/stdc++.h> using namespace std; int main(){ int n; char a; cin>>a>>n; for(int i=1;i<=n;i++) { for(int j=n;j>i;j--) { cout<<' '; } for(int j=1;j<=i*2-1;j++) { cout<<a; } cout<<endl; } return 0; }//别装B

    • 1
      @ 2024-11-17 21:59:15
      首先,100里有8个是我的。😎
      (咳咳...)
      好,开始正题。
      First.We must读懂题目。
      题目要求是:给一个字符和一个数字,绘制成一个等腰三角形。
      看似很简单,实则也不难,接下来请跟随我的脚步,来完成本题。
      Then.Let`s梳理解题流程,我们需要绘制一个三角形,一行里都含有什么因素?
      有空格和字符。我们需要输出它们。
      Next.We can看输入输出
      输入一个字符和数字(行数);
      输出一个等腰三角形。
      来,我们来作一个有关这题的题
      给你行数和字符,打印一个直角三角形。
      Can you?
      这是有关这题的题的答案:
      #include <bits/stdc++.h> 
      using namespace std;
      int main ()
      {
      	char n;\\字符 
      	int a;\\行数 
      	int b=0;\\字符个数 
      	cin>>n>>a;\\输入 
      	for(int i=1;i<=a;i++)\\循环行数,内输出每行的字符 
      	{
      		b++;\\字符个数每次加1
      		for(int j=1;j<=b;j++)\\循环字符个数,按要求输出字符 
      		{
      			cout<<n;\\输出字符 
      		}
      		cout<<endl;\\换行,再循环一遍 
      	}
      	return 0;
      }
      直角三角形可以打印了,那么就差空格了
      我们可以发现规律,第n行的空格是总行数减n;
      有了以上的条件,我们就可以暴力枚举了。
      BUT,我们要的是等腰三角形,所以上面的b++要改成b+=2;
      代码我放在下面了
      #include <bits/stdc++.h> 
      using namespace std;
      int main ()
      {
      	char n;\\定义字符 
      	int a,b,c=1;\\a代表行数 
      	cin>>n>>a;\\输入 
      	b=a;\\行数赋值给空格数 
      	for(int i=1;i<=a;i++)\\循环行数,打印相应的空格与字母 
      	{
      		b--;\\由于行数的转变,空格数也要转变 
      		for(int j=1;j<=b;j++)\\循环输出空格 
      		{
      			cout<<' ';
      		}
      		for(int j=1;j<=c;j++)\\循环输出字符 
      		{
      			cout<<n;
      		}
      		cout<<endl;\\每一行结束后都要换行 
      		c+=2;\\由于行数的转换,输出的字符数量也要加2。 
      	}
      	return 0;\\结束 
      }
      
      • @ 2024-11-29 12:31:25

        解释一下吧,为什么是错的

      • @ 2025-7-15 9:46:03

        @

        #include <bits/stdc++.h> 
        using namespace std;
        int main ()
        {
        	char n;
        	int a,b,c=1;
        	cin>>n>>a;
        	b=a;
        	for(int i=1;i<=a;i++)
        	{
        		b--;
        		for(int j=1;j<=b;j++)
        		{
        			cout<<' ';
        		}
        		for(int j=1;j<=c;j++)
        		{
        			cout<<n;
        		}
        		cout<<endl;
        		c+=2;
        	}
        	return 0;
        }
        
    • 1

    信息

    编号
    2323
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    99
    已通过
    47
    上传者