返回
广阔的世界,不一样的美术!
闲谈
2024-02-23 04:23:45
PTA 7-1 打印三角形拼图 (15 分)
一个正方形可以用两个等边直角三角形拼出来。给定正方形的边长、两个三角形和对角线所用的符号,请你打印出这两个三角形拼出的正方形。
输入格式:
输入在一行中给出一个正整数 L(2≤L≤100,为正方形的边长),以及两个三角形和对角线所用的符号。
输出格式:
输出正方形。
输入样例:
9 * /
输出样例:
/ \
/ \
* *
\ /
\ /
算法:
- 根据给定的正方形边长 L,计算出三角形的边长 a = L / √2。
- 根据三角形的边长 a,计算出三角形的斜边长 b = a * √2。
- 根据三角形的斜边长 b,计算出对角线长 d = b * √2。
- 根据三角形和对角线所用的符号,打印出正方形。
注意:
- 在 C 语言中,可以使用
printf
函数来输出字符。 - 在 C 语言中,可以使用
sqrt
函数来计算平方根。
代码:
#include <stdio.h>
#include <math.h>
int main()
{
int L;
char s1, s2;
scanf("%d %c %c", &L, &s1, &s2);
int a = L / sqrt(2);
int b = a * sqrt(2);
int d = b * sqrt(2);
for (int i = 0; i < L; i++)
{
if (i == 0 || i == L - 1)
{
for (int j = 0; j < L; j++)
{
printf("*");
}
printf("\n");
}
else
{
for (int j = 0; j < L; j++)
{
if (j == 0 || j == L - 1)
{
printf("*");
}
else
{
if (i == L / 2)
{
printf("%c", s2);
}
else
{
printf("%c", s1);
}
}
}
printf("\n");
}
}
return 0;
}