C++输出正三角形

C++输出正三角形,第1张

#include<stdioh>

#define N 5

main()

{

int i,j;

for(i=1;i<=N;i++)

{

for(j=1;j<=N-i;j++) printf(" ");

for(j=1;j<=2i-1;j++) printf("");

printf("\n");

}

}

你可以改变define下N的值(当前值是5),来改变正三角边长,我做的程序是实心的三角。

//上三角

#include <iostream>using namespace std;int main()

{

int i,j,k,n;

//画上三角

cout<<"请输入一个正整数:";

cin>>n;

for(i=1;i<n;i++)

{

//输出空格

for(j=1;j<=-i+n;j++)

cout<<" ";

//输出

for(k=1;k<=2i-1;k++)

cout<<"";

cout<<"\n";

}}

LS仁兄至少应该把k=0和j=0放在for循环里面吧。。。。都没测试就拿出来。。。。

正三角形前面有空格吧。。。

#include <stdioh>

void main()

{

int i,j,N;

scanf("%d",&N);

for(i=1;i<=N;i++)

{

for(j=1;j<=N+i-1;j++)

if(j<=N-i)printf(" ");

else printf("");//输出

printf("\n");//换行

}

}

如果前面没有空格则代码如下

#include <stdioh>

void main()

{

int i,j,N;

scanf("%d",&N);

for(i=1;i<=N;i++)

{

for(j=1;j<=2i-1;j++)

printf("");//输出

printf("\n");//换行

}

}

无论矩形怎么转,矩形的四个顶点都在以对角线为直径的圆上,通过已知的两点坐标可以算出一条对角线的斜率

再通过旋转角你就可以算出两条对角线的夹角,用夹角公式算出另一条对角线的方程,和圆的方程联立即可。

假设已知点(x1,y1),(x2,y2) 那么对角线交点(圆心)为((x1+x2)/2,(y1+y2)/2)记为(x0,y0),

所以圆方程(x-x0)^2 + (y-y0)^2 = r^2 (r为已知两点距离的一半)

算出斜率 k=(y2-y1)/(x2-x1),注意判断x2-x1为不为0

用反正切计算出倾斜角a,加上旋转角b,则两条对角线夹角为180-(a+b-90),这样你就能算出另一条对角线的斜率,

过圆心,所以另一条对角线的方程就得到了,联立圆的方程解出两个解就行了。

写程序时请注意判断:

1、x2-x1是不是为0

2、算出的反正切的角是和X轴的夹角,所以要减去90度,这里注意判断如果旋转角为0,特殊处理

大概就这样了。

以上就是关于C++输出正三角形全部的内容,包括:C++输出正三角形、用C++编写一个行数可变化的正三角形图案的程序、c语言问题:编制程序,输出由“*”组成的正三角形的,边长由程序输入。例如n=4等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10137542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存