C语言使用函数输出一个实心的矩形方阵
时间: 2024-10-21 17:07:27 浏览: 32
在C语言中,要使用函数输出一个实心的矩形方阵,你可以创建一个递归函数或者循环结构来遍历矩阵。下面是一个简单的示例,它会通过嵌套循环打印出星号(*)形成矩形:
```c
#include <stdio.h>
// 定义一个函数打印矩形
void print_rectangle(int n) {
for (int i = 0; i <= n; i++) { // 行数从0到n
for (int j = 0; j <= n; j++) { // 列数也从0到n
if (i == 0 || i == n || j == 0 || j == n) { // 边界条件:对角线和角落
printf("*");
} else {
printf(" ");
}
}
printf("\n"); // 换行开始新一行
}
}
int main() {
int size; // 输入矩形大小
printf("请输入矩形的边长:");
scanf("%d", &size);
print_rectangle(size); // 调用函数打印矩形
return 0;
}
```
相关问题
c语言用函数求一个n阶方阵右下三角元素的和
在C语言中,计算一个n阶方阵右下三角元素的和可以使用循环结构和数组来实现。这里是一个简单的例子:
```c
#include <stdio.h>
// 函数定义,接收一个整型数组a和它的大小n
int sum_lower_right_triangle(int arr[], int n) {
int sum = 0; // 初始化总和为0
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) { // 遍历从i+1到n的所有行和列
sum += arr[j * n + i]; // 只累加右下三角的元素
}
}
return sum;
}
int main() {
int size;
printf("请输入n阶方阵的大小:");
scanf("%d", &size);
// 假设我们有一个n*n的动态数组存储方阵
int matrix[size][size];
// ...(填充方阵元素)
int result = sum_lower_right_triangle(matrix, size);
printf("n阶方阵右下三角元素的和为:%d\n", result);
return 0;
}
```
这个程序首先定义了一个函数`sum_lower_right_triangle`,它接受一个二维数组`arr`和数组的长度`n`作为参数。通过嵌套的for循环,它遍历矩阵并只累计右下三角的部分。在`main`函数中,用户输入矩阵的大小,并根据用户的输入创建和填充矩阵,然后调用该函数计算和。
C语言中如何输入一个数然后输出一个菱形方阵
在C语言中,输入一个数字并输出菱形方阵可以使用嵌套循环结构来实现。这里是一个简单的示例,假设用户输入的是一个奇数n:
```c
#include <stdio.h>
// 函数来打印菱形方阵
void printDiamond(int n) {
int i, j, space = n - 1;
// 上半部分菱形
for (i = 1; i <= n; i++) {
// 空格的数量
for (j = 1; j <= space; j++)
printf(" ");
space--;
// 菱形的星号部分
for (j = 1; j <= 2 * i - 1; j++)
printf("* ");
printf("\n");
}
// 下半部分菱形(如果n是偶数,下半部分只有一个点)
if (n % 2 == 0) {
space++;
for (i = n - 1; i > 0; i--) {
for (j = 1; j <= space; j++)
printf(" ");
space++;
// 菱形的星号部分
for (j = 1; j <= 2 * i - 1; j++)
printf("* ");
printf("\n");
}
}
}
int main() {
int rows;
printf("请输入菱形的行数(n): ");
scanf("%d", &rows);
// 检查输入是否合法(正整数)
if(rows <= 0 || rows % 2 == 0)
printf("错误:菱形的行数必须大于0且为奇数。\n");
else
printDiamond(rows);
return 0;
}
```
阅读全文