用C语言输入一个正整数,输出n行n列的矩阵
时间: 2024-01-01 17:05:08 浏览: 115
好的,以下是用C语言实现的代码:
```c
#include <stdio.h>
int main()
{
int n, i, j;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
printf("%d ", i*j);
}
printf("\n");
}
return 0;
}
```
这段代码首先通过 `scanf` 函数获取用户输入的正整数 `n`,然后使用嵌套的 `for` 循环来输出 `n` 行 `n` 列的矩阵,其中内部的 `for` 循环输出每个矩阵元素的值,即第 `i` 行第 `j` 列的元素的值为 `i*j`。每输出完一行后,使用 `printf` 函数输出一个换行符 `\n`,以便下一行能够正常输出。
相关问题
用c语言 输入一个正整数n和n阶矩阵的数值,打印输出矩阵,上三角和下三角
在C语言中,你可以通过嵌套循环结构来输入一个正整数`n`和`n`阶矩阵的元素,并根据矩阵的行和列来判断是否应该输出该元素。矩阵分为上三角、主对角线和下三角三部分:
1. 上三角(从左上到右下,包括主对角线):对于每个元素`(i, j)`,如果`j <= i`,则输出该元素。
2. 主对角线:元素的索引满足`i == j`。
3. 下三角(从左下到右上):同理,如果`j >= i + 1`,则输出。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#define N 5 // 可以修改为用户输入的实际值
void printUpperTriangle(int matrix[N][N]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
void printDiagonal(int matrix[N][N]) {
for (int i = 0; i < N; i++) {
printf("%d ", matrix[i][i]);
}
printf("\n");
}
void printLowerTriangle(int matrix[N][N]) {
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[N][N];
printf("请输入一个 %dx%d 的矩阵:\n", N, N);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
scanf("%d", &matrix[i][j]);
}
}
printf("上三角和主对角线:\n");
printUpperTriangle(matrix);
printDiagonal(matrix);
printf("\n下三角:\n");
printLowerTriangle(matrix);
return 0;
}
```
C语言输入一个正整数n(1≤n≤6),再输入一个n行n列的矩阵,统计并输出该矩阵中非零元素的个数、
好的,下面是实现该功能的C语言代码:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数n(1~6): ");
scanf("%d", &n);
int matrix[n][n];
// 输入n行n列的矩阵
printf("请输入%d行%d列的矩阵:\n", n, n);
int count = 0; // 非零元素的个数
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
if (matrix[i][j] != 0) {
count++;
}
}
}
printf("非零元素的个数为:%d\n", count);
return 0;
}
```
首先,程序会提示用户输入一个正整数n,然后定义一个n行n列的矩阵,并使用双重循环输入矩阵的每个元素。在输入的过程中,如果当前输入的元素不为0,就将非零元素的个数加1。最后,程序输出非零元素的个数。注意,输入的矩阵元素可以是任意整数,包括负数。
阅读全文