0

我必须编写一个程序来生成以下输出:

例子:

 & & & & & & &
   & & & & &
     & & &    
       &

到目前为止我做了什么:

#include<iostream.h>
#include<conio.h>
void main()
{
    clrscr();
    int i,j,k,n;
    cout<<"How many rows?\n";
    cin>>n;
    for(i=n;i>0;i-=2)
    {
        cout<<"\n";

        for(k=(i+1)/2;k>0;--k)
        cout<<" ";

        for(j=1;j<=i;++j)
        cout<<"&";
    }
}

输出是什么:

    & & & & &
  & & &
&

请纠正我在哪里犯了错误。任何帮助将不胜感激。谢谢。

4

3 回答 3

1

您的第一次尝试似乎有点复杂。我会做这样的事情:

#include <iostream>

int main()
{
    int i,j,k,n;
    std::cout << "How many &'s in the start row?\n";
    std::cin >> n;
    std::cout << std::endl;
    for(i=0; i < n; i+=2)
    {
        for(k=0 ; k < i; k++ )
        {
                std::cout << " ";
        }
        for(j=0; j<(n - i); ++j)
        {
                std::cout<<" &";
        }
        std::cout << std::endl;
    }
    return (0);
} 
于 2013-03-01T18:02:20.697 回答
0

迟到总比不到好。试试这个简单的解决方案:

#include <iostream>
using namespace std;

int main()
{
  char ch = '&';
  for(int i = 1; i <= 4; i++)
  {
    for(int j = 1; j <= 3; j++)
    {
        if( i > j)
            cout << " ";
        else
            cout << ch;   
    }

    cout << ch;

    for(int j = 3; j >= 1; j--)
    {
        if( i > j)
            cout << " ";
        else
            cout << ch;   
    }

    cout << "\n";
  }

  return 0;
}
于 2015-09-22T10:21:02.777 回答
0
import java.util.*;
import java.lang.*;
import java.io.*;
class Design{
     public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        for(int i=0;i<4;i++)
        {
            for(int k=0;k<i;k++)
            {
                System.out.print(" ");
            }
            for(int j=i;j<7-i;j++)
            {
                System.out.print("&");
            }
            System.out.println();

        }
    }

}
于 2016-12-27T06:35:08.527 回答