像鱼583 2021-09-17 19:24 采纳率: 66.7%
浏览 28

pta乙级1027打印沙漏

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main()
{
    int n;
    char a;
    scanf("%d %c",&n,&a);
    int m=1;
    int count;
    int b=n-1;
    if(n==1){
        printf("*");
    }else if(n>1){
        int x=2*m*m+4*m;
        m++;
        while(b>=x){
            x=2*m*m+4*m;
            m++;
        }
        count=m-1;
        int i=0,j=0;
        int p=(count-1)*2+1;
        for(i=1;i<=p;i++){
            for(j=1;j<=p;j++){
                if(fabs(i-count)>=fabs(j-count)){
                    printf("*");
                }else{
                    printf(" ");
                }
            }
            printf("\n");
        }
        
    }
    int y;
    int p=count-1;
    y=b-2*p*p-4*p;
    if(y!=0){
            printf("%d",y);
    }

    return 0;
 } 

请大家帮忙看看为啥我这个通过不了pta而且是一个也没通过;

  • 写回答

2条回答 默认 最新

  • Admini$trat0r .net领域新星创作者 2021-09-18 10:07
    关注
    
    #include<iostream>
    #include<string>
    using namespace std;
    
    int main(){
        char ch;
        int n,sn=0,i=0;
        cin>>n>>ch;
        while(sn<=n){
            i++;
            sn=2*i*i+4*i+1;
        }
        i=i-1;
        sn=2*i*i+4*i+1;
        int length=3+(i-1)*2;
        int an;
        for(int j=i; j>0; j--){
            an=3+(j-1)*2;
            int in=(length-an)/2;
            string pr1(in,' ');
            string pr2(an,ch);
            cout<<pr1<<pr2<<'\n';
        }
        int k=(length-1)/2;
        string pr(k,' ');
        cout<<pr<<ch<<'\n'; 
        for(int j=1; j<=i; j++){
            an=3+(j-1)*2;
            int in=(length-an)/2;
            string pr1(in,' ');
            string pr2(an,ch);
            cout<<pr1<<pr2<<'\n';    
        }
        cout<<n-sn<<endl;
    } 
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 9月17日

悬赏问题

  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊