我试图让用户在矩阵中输入他们想要的列数和行数,然后在矩阵中输入值......我将让他们一次插入一行数字.
我该如何创建这样的功能?
#include<stdio.h>
main(){
int mat[10][10],i,j;
for(i=0;i<2;i++)
for(j=0;j<2;j++){
scanf("%d",&mat[i][j]);
}
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d",mat[i][j]);
}
Run Code Online (Sandbox Code Playgroud)
这适用于输入数字,但它将它们全部显示在一行...这里的问题是我不知道用户想要多少列或行,所以我不能打印出%d%d%d矩阵形式......
有什么想法吗?
谢谢 :)
Jac*_*cob 12
以下怎么样?
第一询问的行和列的数量的用户,存储在发言权,nrows和ncols(即scanf("%d", &nrows);),然后用于2D阵列分配内存大小的NROWS X NCOLS.因此,您可以拥有一个由用户指定的大小的矩阵,而不是固定在您硬编码的某个维度上!
然后for(i = 0;i < nrows; ++i) ...以相同的方式存储元素并以相同的方式显示元素,除了在每一行之后抛出换行符,即
for(i = 0; i < nrows; ++i)
{
for(j = 0; j < ncols ; ++j)
{
printf("%d\t",mat[i][j]);
}
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
217144 次 |
| 最近记录: |