问题标题: 酷町堂:4550 打印直角三角形

0
0
已解决
潘晨皓
潘晨皓
高级天翼
高级天翼
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

int main(){
    int i,j,n;
    cin>>n;
    for(i=1;i<=n;i++){ 
        for(j=1;j<=i;j++)
            cout<<"*";
            cout<<"\n";
    }
    //怎么输出空格? 
    return 0;
}

4550   打印直角三角形

题目描述 Description

输入一个正整数n,请你编写一个程序,靠右对齐打印一个由“ * ”组成的直角三角形。 * 的数量按行递增。

输入描述 Input Description

一个正整数n,表示三角形的行数

输出描述 Output Description

如题所述

样例输入 Sample Input

 

3

样例输出 Sample Output

 

*
**
***

数据范围及提示 Data Size & Hint

1<n<=20

 

 

求大佬解答!!!我只会编到this……


0
已采纳
李鑫羽
李鑫羽
初级光能
初级光能

核心代码:

for(int j=1;j<=n;j++){
        s=n-j;
        for(int i=1;i<=n;i++){
            if(i<=s){
                cout<<" ";
            }
            else{
                cout<<"*";
            }
        } 
        cout<<endl; 
    }

0
王文博
王文博
缔造者之神
缔造者之神

先用一个for语句,控制三角形行数,再观察空格数量,再用一个for语句控制空格数量,这时再观察*数量,再用一个for语句控制*数量。

代码不给,自己写

注意:这种方式有可能复杂了一些,更好的方法还是看别人的吧

0
王文博
王文博
缔造者之神
缔造者之神

先控制次数,再控制空格,最后控制*

0
0
蒋文瀚
蒋文瀚
新手光能
新手光能

首先它要求我们输出直角三角形,但是要靠右对齐,

第1种:

使用setw()函数,空格中写n,加上头文件:iomanip。具体代码施行如下:

for(int i=1;i<=n;i++){

    s+="*";

    cout<<setw(n)<<s;

}

第2种:

前面使用for循环输出空格,空格数为n-i。代码施行如下

for(int j=1;j<=n-i;j++)

cout<<" ";

使用第2种要记得输出星号

 

Ps:手打不易,望采纳

0
蒋文瀚
蒋文瀚
新手光能
新手光能

首先它要求我们输出直角三角形,但是要靠右对齐,

第1种:

使用setw()函数,空格中写n,加上头文件:iomanip。具体代码施行如下:

for(int i=1;i<=n;i++){

    s+="*";

    cout<<setw(n)<<s;

}

第2种:

前面使用for循环输出空格,空格数为n-i。代码施行如下

for(int j=1;j<=n-i;j++)

cout<<" ";

使用第2种要记得输出星号

 

Ps:手打不易,望采纳

0
王子健
王子健
初级天翼
初级天翼

水题,一道巨水的题!!!

首先解决*的输出,相信你是会的,两层循环输出加换行:

 

但这不是难的,输出空格是难点,根据推理,我们不难发现,空格数 = n - i

so,只要在输出*的上方加上空格作用,就行,具体如下:

望采纳,谢谢

 

0
徐子玄
徐子玄
初级光能
初级光能

水水水,都快把我淹死了!!! 

for(int i=1;i<=n;i++){ 
    for(int k=1;k<=n-i;k++)//输出星前要有空格
        cout<<" ";//空格就是这么输出的!
    for(int j=1;j<=i;j++) 
        cout<<"*";
    cout<<endl;
} 

 

0
王子凡
王子凡
高级光能
高级光能

emm,简单找一下空格的规律就可以了

​for(int ii=1;ii<=n-i;ii++)
    cout<<" ";

​

这样就阔以啦

我要回答