要将直角三角形转换为等腰三角形,可以通过调整代码中的循环结构和输出逻辑来实现。以下是几种不同编程语言中的实现方法:
C语言
方法一:直角在右上角
```c
include include int main() { int line, i, j; int *p0, *p1; printf("请输入行数:\n"); scanf("%d", &line); p0 = (int*)malloc(sizeof(int) * line); p1 = (int*)malloc(sizeof(int) * line); for (i = 0; i < line; i++) { p0[i] = 1; p1[i] = 1; } for (i = 0; i < line; i++) { for (j = 0; j < line - i - 1; j++) { printf(" "); } for (j = 0; j <= i; j++) { printf("%d ", p0[j]); } for (j = 1; j <= i; j++) { printf("%d ", p1[j]); } printf("\n"); } free(p0); free(p1); return 0; } ``` 方法二:直角在右下角 ```c include int main() { int a, i, j; printf("请输入行数:\n"); scanf("%d", &a); for (i = 1; i <= a; i++) { for (j = 1; j <= a - i; j++) { printf(" "); } for (j = 1; j <= 2 * i - 1; j++) { printf("*"); } printf("\n"); } return 0; } ``` Python ```python num = int(input('请输入一个整数:')) high = [['0'] * num for _ in range(num)] for i in range(num): for j in range(num - i - 1): high[i][j] = ' ' for j in range(i + 1): high[i][j] = '*' for j in range(i + 1): high[i][num - 1 - j] = '*' print(''.join(high[i])) ``` Java ```java public class ForDemo1 { public static void main(String[] args) { int n, m, b; for (n = 1; n <= 10; n++) { for (m = 1; m <= 10 - n; m++) { System.out.print(" "); } for (b = 1; b <= 2 * n - 1; b++) { System.out.print("*"); } System.out.println(); } } } ``` 这些代码示例分别展示了如何在C语言、Python和Java中生成直角在右上角和右下角的等腰三角形。你可以根据需要选择合适的编程语言和代码实现。