#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而且是一个也没通过;
#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;
}
兄弟们 棒棒
忙吧