马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 469826336 于 2018-10-18 01:01 编辑
RT,小白好不容易用vs2010码出了个沙漏,提交到网上用的g++报错了,然后我就下了个g++,可也能通过生成exe,有大佬能看出问题所在吗#include<iostream>
#include<cmath>
#include<string>
using namespace std;
int main(){
float n=1,N,e,E,A=3;string a;cin>>N>>a;
while(((pow((n+1),2)-4)/2)<=N){
n+=2;
e=n;
}
n-=2;e-=2;//找出第一行n最大值
for(;n!=-1;n-=2){
E=n;
for(float d=e;(n+1)/2<(d+1)/2;n+=2){
cout<<" ";//每一行前半部分空格
}
n=E;
for(;n!=0;--n){
cout<<a;//每一行符号
}
n=E;
for(float d=e;(n+1)/2<(d+1)/2;++n){
cout<<" ";//每一行后半部分空
}
n=E;
cout<<endl;}
for(;A<=e;A+=2){
E=A;
for(float d=e;(A+1)/2<(d+1)/2;A+=2){
cout<<" ";//每一行前半部分空格
}
A=E;
for(;A!=0;--A){
cout<<a;//每一行符号
}
A=E;
for(float d=e;(A+1)/2<(d+1)/2;++A){
cout<<" ";//每一行后半部分空
}
A=E;
cout<<endl;}
cout<<N-((1+e)*(e+1))/2;
return 0;
}
|