#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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)