将最后一列递增 1 的 For 循环模式
For-loop pattern that increments the last column by 1
我正在尝试制作一个 for-loop 程序,它每行打印相同的数字或整数,除了最后一列递增 1。
示例:
1 1 1 1 1 2
2 2 2 2 2 3
3 3 3 3 3 4
4 4 4 4 4 5
5 5 5 5 5 6
6 6 6 6 6 7
这是我的代码
int main(){
int num,value;
scanf("%d", &num);
for(int i=1; i<=num; i++){
for(int j=i; j < i+num; j++){
value = i;
printf("%d ", value);
}
printf("\n");
}
return 0;
我也试过这样做
int num,value;
scanf("%d", &num);
for(int i=1; i<=num; i++){
for(int j = i; j < i+num; j++){
value = i;
if(value < j){
value+=1;
}
printf("%d ", value);
}
printf("\n");
}
return 0;
然而,我得到了这个结果
1 2 2 2 2 2
2 3 3 3 3 3
3 4 4 4 4 4
4 5 5 5 5 5
5 5 5 5 5 6
6 6 6 6 6 7
我不明白你是如何获得这两个额外的列的,但是要获得递增 1 的最后一列,你可以简单地使用它。
for(int i=1; i<=num; i++){
for(int j = i; j < i+num; j++){
if(j==(i+num)-1)
printf("%d ",i+1);
else
printf("%d ", i);
}
printf("\n");
}
这是我所做的。我没有在第一个 for 循环中更新 i。相反,我正在检查我是否已到达第二个 for 循环中的最后一列,然后将 i 更新为 i++。
#include <stdio.h>
int main(){
int num, value;
scanf("%d", &num);
for (int i=1; i<num; ) {
for (int j=i; j<(num+i); j++) {
if (j == (num+i-1)) {
i++;
printf("%d", i);
break;
}
printf("%d", i);
}
printf("\n");
}
return 0;
}
我正在尝试制作一个 for-loop 程序,它每行打印相同的数字或整数,除了最后一列递增 1。
示例:
1 1 1 1 1 2
2 2 2 2 2 3
3 3 3 3 3 4
4 4 4 4 4 5
5 5 5 5 5 6
6 6 6 6 6 7
这是我的代码
int main(){
int num,value;
scanf("%d", &num);
for(int i=1; i<=num; i++){
for(int j=i; j < i+num; j++){
value = i;
printf("%d ", value);
}
printf("\n");
}
return 0;
我也试过这样做
int num,value;
scanf("%d", &num);
for(int i=1; i<=num; i++){
for(int j = i; j < i+num; j++){
value = i;
if(value < j){
value+=1;
}
printf("%d ", value);
}
printf("\n");
}
return 0;
然而,我得到了这个结果
1 2 2 2 2 2
2 3 3 3 3 3
3 4 4 4 4 4
4 5 5 5 5 5
5 5 5 5 5 6
6 6 6 6 6 7
我不明白你是如何获得这两个额外的列的,但是要获得递增 1 的最后一列,你可以简单地使用它。
for(int i=1; i<=num; i++){
for(int j = i; j < i+num; j++){
if(j==(i+num)-1)
printf("%d ",i+1);
else
printf("%d ", i);
}
printf("\n");
}
这是我所做的。我没有在第一个 for 循环中更新 i。相反,我正在检查我是否已到达第二个 for 循环中的最后一列,然后将 i 更新为 i++。
#include <stdio.h>
int main(){
int num, value;
scanf("%d", &num);
for (int i=1; i<num; ) {
for (int j=i; j<(num+i); j++) {
if (j == (num+i-1)) {
i++;
printf("%d", i);
break;
}
printf("%d", i);
}
printf("\n");
}
return 0;
}