自测-1 打印沙漏 (20 分)

前言:复试结束后狠狠的玩了两三个月,现在看代码头有点晕,做题找找感觉,为以后垫垫基础。

自测-1 打印沙漏 (20 分)_第1张图片

题目本身不难,但是我却在读题上翻了跟头,以为沙漏全都是有*构成的,实际上样例说的很明白了,要输入“数字”和“符号”

以下是代码,写的很烂。

#include 

using namespace std;
/*
input 19
print:
*****
 ***
  *
 ***
*****
2
*/
void showStar(int number,char alpha)
{
    for(int i=0;i> num>>alpha;
    int flag=0;
    for(int i=1,j=1;i<=num;i+=2,j++)
    {
        int a=i*j+(j-1);
        int b=(i+2)*(j+1)+j;
        if(a<=num&&num<=b)
        {
            flag=i;
        }
    }
    //cout<0;i-=2)
    {
        showSpace((flag-i)/2);
        showStar(i,alpha);
        cout<

 

你可能感兴趣的:(C++)