gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 21:08:19 24 4
gpt4 key购买 nike

我正在研究一种使用 for 循环打印以下代码的模式

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
2 6
3 7 11
4 8 12 16
5 9 13 17 21

最佳答案

关键在于如何在内循环中更新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

关于使用 for 循环打印垂直数字的 C 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39494333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com