方法一:判断三角形类型
```c
include
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if ((a + b > c) && (a + c > b) && (b + c > a)) {
if (a == b && b == c)
printf("等边三角形\n");
else if (a == b || a == c || b == c)
printf("等腰三角形\n");
else if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (b * b + c * c == a * a))
printf("直角三角形\n");
else if ((a * a + b * b > c * c) || (a * a + c * c > b * b) || (b * b + c * c > a * a))
printf("钝角三角形\n");
else
printf("锐角三角形\n");
} else
printf("不能构成三角形\n");
return 0;
}
```
方法二:使用二维数组生成三角形
```c
include
void printTriangle(int n) {
int i, j, k;
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++) {
printf(" ");
}
for (k = 0; k < i; k++) {
printf("*");
}
printf("\n");
}
}
int main() {
int n;
printf("请输入三角形的行数: ");
scanf("%d", &n);
printTriangle(n);
return 0;
}
```
方法三:输出等边三角形
```c
include
void printEquilateralTriangle(int n) {
int i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
}
int main() {
int n;
printf("请输入等边三角形的边数: ");
scanf("%d", &n);
printEquilateralTriangle(n);
return 0;
}
```
方法四:输出杨辉三角
```c
include
void printPascalTriangle(int n) {
int i, j, k;
int triangle[n][n];
// 初始化杨辉三角
for (i = 0; i < n; i++) {
triangle[i] = triangle[i][i] = 1;
for (j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 输出杨辉三角
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
printf("%d ", triangle[i][j]);
}
printf("\n");
}
}
int main() {
int n;
printf("请输入杨辉三角的行数: ");
scanf("%d", &n);
printPascalTriangle(n);
return 0;
}
```
这些方法可以帮助你使用C语言输出不同类型的数字三角形。你可以根据需要选择合适的方法进行修改和扩展。