用C语言实现矩阵,但不是另一个版本

用C语言实现矩阵,但不是另一个版本,c,C,我是C编程新手,我正在练习制作矩阵,但它有点不同。我只能输入1个数字(例如)5。那么结果就是 123445 123445 123445 123445 123445 列和行排列5次。请派人来帮忙 #include<stdio.h> main(){ int mat[10][10],i,j; int num; int nrows, ncols; scanf("%d",&num); for(i=1;i<=num;i++){ printf("%d",i);

我是C编程新手,我正在练习制作矩阵,但它有点不同。我只能输入1个数字(例如)5。那么结果就是

123445

123445

123445

123445

123445

列和行排列5次。请派人来帮忙

#include<stdio.h>
main(){

int mat[10][10],i,j;
int num;
int nrows, ncols;

scanf("%d",&num);

for(i=1;i<=num;i++){
    printf("%d",i);
    for(i=1;i<=num;i++){
        printf("%d",i);
    }
}


}
#包括
main(){
int mat[10][10],i,j;
int-num;
int nrows,ncols;
scanf(“%d”和&num);

对于(i=1;i您当前的代码是正确的,但是:

  • 内部循环正在覆盖外部循环的索引。它应该使用单独的索引变量,例如在顶部声明的
    j
  • 不要在每行的开头写行号,而是在末尾打印换行符
    \n
修正案:

for(i=1;i<=num;i++){
    for(j=1;j<=num;j++){
        printf("%d",j);
    }
    printf("\n");
}

for(i=1;i您可能应该在列之间添加间距,以匹配输出的OPs要求。非常感谢您,先生。我知道这对您来说可能很容易,但我已经考虑了一个小时了:(上帝保佑你,祝你有一个美好的一天,先生!是的,先生osiris工作已经完成,我仍然10岁,想学习如何编码。非常感谢你。@osiris OP没有明确指定应该存在这样的空格(这可能只是一个格式问题);然而,这是一项琐碎的任务。下行投票者是否愿意解释他们为什么这样做?C中的数组索引从0开始,而不是从1开始,然后转到n-1。因此数组
int a[10]
has elements
0..10-1
我现在只使用两个变量,先生,它们是int i,j;int num;感谢您提醒我sir我的意思是,您的for循环应该是:
for(i=0;i不要在顶部混乱的堆中声明变量,而是在使用时尝试声明它们。
i
j
尤其应该在各自循环的上下文中声明:
for(int i=i;…)
等等。请注意,您根本不使用
mat
(以及nrow、ncols).您并不是真正创建矩阵,而是在网格中打印一些数字