2171 - 打印星形三角(II)

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

根据输入N,输出N行字符图样,如输入n=5时,输出


2 3
4 5 6
7 8 9 10

11 12 13 14 15

<span style="font-size:11pt;font-family:宋体;"></span>&nbsp;

题目输入

输入只有正整数N

题目输出

N行星形图案,每个数字之间用空格分隔。

输入/输出样例

输入格式

5

输出格式

1
2 3
4 5 6
7 8 9 10
11 12 13 14 15

C语言解答

#include<stdio.h>
int main(){
int N,i,sum=0,j=1;
int flag=0;
scanf("%d",&N);
for(i=1;i<=N;i++){
    sum=sum+i;
    for(j=j;j<=sum;j++){
        if(flag) printf(" ");
        printf("%d",j);
        flag=1;
    }
if((j==sum)&&(i==N)) break;
else{
    printf("\n");
    flag=0;}
}

return 0;
}

C++解答


#include <iostream>
#include <iomanip>
using namespace std;


int main()
{
    int count  = 1;
    int n;
    while (cin>>n)
    {       
        for (int i = 1; i<=n; i++)
        {
            for (int j = 1; j<=i; j++)
            {
                cout<<count++;
                if (j < i)
                    cout<< " ";
                 
            }
            cout<<endl;
        }
    }

    return 0;
}

Java解答

public class Main 
    {
            public static void main(String[] args)
            {
              java.util.Scanner input = new java.util.Scanner(System.in);
              int n = input.nextInt();
              int count = 0;
              for(int n1=1;n1<=n;n1++) {
                for(int i=0;i<n1;i++){
                  count++;
                  System.out.print(count);
                  if(i+1<n1)
                  System.out.print(" ");
                }
               System.out.print("\n");
              }
            }
}