C模式使用for循环打印垂直数字

时间:2016-09-14 15:29:10

标签: c

我正在使用for循环

打印以下代码的模式
EchoServerProtocol

代码如下,导致输出略有错误。

1
2 6
3 7 10
4 8 11 13
5 9 12 14 15

代码给了我这个。 这是我想要的输出错误

main(){
   int i,j,k,n,num;
   printf("\n Enter no of rows: ");
   scanf("%d",&num);
   for(i=1;i<=num;i++,k=num){
      for(j=1,n=i;j<=i;j++,n+=k){
        printf("%d ",n);
      }
   printf("\n");
   }
}

1 个答案:

答案 0 :(得分:0)

关键是如何在内循环中更新n。在每次迭代过程中,您需要它不仅要考虑num,还要考虑i。我已将num修改为5,并将赋值放在外部循环开头的k,因为它始终是常量:

#include <stdio.h>

int main(void) {
    int i, j, k, n, num;
    num = 5;

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

给出:

1 
2 6 
3 7 10 
4 8 11 13 
5 9 12 14 15