
C++输出星号(*)正三角形
5个回答
展开全部
这太难了,正三角形要求高是底边的根号3倍,所以打不出正三角形,只能近似做。
把根号3近似成1.732,高是1732,底边长1000,两者都除以他们的最大公约数,高为433,底边长250。(x,y)-x是行号,y是列号,你可以在(433,0),(433,250),(0,125)三个地方打三个星号,出来的近似是正三角形
把根号3近似成1.732,高是1732,底边长1000,两者都除以他们的最大公约数,高为433,底边长250。(x,y)-x是行号,y是列号,你可以在(433,0),(433,250),(0,125)三个地方打三个星号,出来的近似是正三角形
2009-02-20
展开全部
给,已经在VC上编译运行确认过了:
#include<iostream>
using namespace std;
#define N 9 //这儿可以定义成你想要的输出行数,我暂定的输出9行的正三角形
int main()
{
for(int i=1,m=N;i<14;i++,i++,m--)
{
for(int n=m;n>=0;n--)
cout<<" ";
for(int j=i;j>0;j--)
cout<<"*";
cout<<endl;
}
}
#include<iostream>
using namespace std;
#define N 9 //这儿可以定义成你想要的输出行数,我暂定的输出9行的正三角形
int main()
{
for(int i=1,m=N;i<14;i++,i++,m--)
{
for(int n=m;n>=0;n--)
cout<<" ";
for(int j=i;j>0;j--)
cout<<"*";
cout<<endl;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int main() {
const int mid = 20;//三角形中线位置
int len;
cout << "input length of edge:";
cin >> len;
for(int i = 1; i <= len; ++i) {
for(int j = 1; j <= mid - i; ++j)
cout << ' ';
for(int k = 1; k <= i; ++k)
cout << '*' << ' ';
cout << endl;
}
}
const int mid = 20;//三角形中线位置
int len;
cout << "input length of edge:";
cin >> len;
for(int i = 1; i <= len; ++i) {
for(int j = 1; j <= mid - i; ++j)
cout << ' ';
for(int k = 1; k <= i; ++k)
cout << '*' << ' ';
cout << endl;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
顶二楼。
用坐标旋转公式甚至可以证明在一个坐标平面上正三角形的三个顶点坐标不能同时为整数。想知道证明细节可以找我。
用坐标旋转公式甚至可以证明在一个坐标平面上正三角形的三个顶点坐标不能同时为整数。想知道证明细节可以找我。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main() {
printf(" *\r\n");
printf(" ***\r\n");
printf(" *****\r\n");
printf(" *******\r\n");
}
printf(" *\r\n");
printf(" ***\r\n");
printf(" *****\r\n");
printf(" *******\r\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询