PASCAL 编程问题 (刚入门pascal,才学到循环,数组,字符串什么的都没学)

打印边长为n的直角三角形(其中n要求是任意的)。... 打印边长为n的直角三角形(其中n要求是任意的)。 展开
 我来答
伊波市向南
2019-08-02 · TA获得超过3704个赞
知道大有可为答主
回答量:3135
采纳率:34%
帮助的人:397万
展开全部
双重循环你应该会了吧,打印图形自古以来就只有两种算法,一种是老老实实的对每个点进行描述,另一种是找到这些点的规律,不用说也知道你需要的是第二种。
要打印一个边长为n的直角三角形,我猜想题目要求应该还有等腰两个字,也就是45°的直角三角形,我们会需要一块“画布”:一个n*n大小的画布,我们用空格字符来表示空白画布,我们用*字符来表示一个点,那么将采用一个双重嵌套循环来打印画布,一层打印纵向一层打印横向,纵向的循环体很简单,执行横向的循环体和换行,横向的循环体里边嵌套一个条件语句,if,如果当前点满足图形要求则打印成*,否则打印成空格。
再说图形要求,我们知道我们的“画布”坐标系原点在左上角,右是x轴正向,下是y轴正向,等直三角形的边应该就可以求出来了,x=0,y=0,y=n-x-1,知道三条边的方程,题目就做完了,pascal语法我不了解,给你写个c的代码,看了上边的思路你应该能看懂了:
int
main()
{
int
x,y;
for(y=0;y<N;y++)
{
for(x=0;x<N;x++)
{
if(x==0||y==0||y==N-x-1)
{
printf("*");//打印*
}
else
{
printf("
");//打印空格
}
}
printf("\n");//打印换行
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式