C循环为不规则的数字模式

时间:2015-04-08 14:48:13

标签: c for-loop

请问如何为以下模式编写循环:

P   Q
0   1
0   2
1   2
1   3
------
2   3
2   4
3   4
3   5
------
4   5
4   6
5   6
5   7

我知道人们通常会首先展示他们的尝试,然后在这里寻求帮助,但我真的很喜欢这个。非常感谢。

3 个答案:

答案 0 :(得分:3)

char* format = "%5d%5d\n";

printf("%5s%5s\n", "P", "Q");

for( int i = 0; i < 12; i++) { 
    if( i % 4 == 3 ) { 
        printf("------\n"); 
    }
    printf(format, i/2, (i+3)/2);
}  

答案 1 :(得分:2)

for (P = 0 ; P <= 5 ; P++) {
  for (Q = P+1 ; Q <= P+2 ; Q++) {
    printf("%i %i\n", P, Q);
  }
}

答案 2 :(得分:-1)

按因子2

展开循环
for (i=p=0, q=1; i<12/2; i++) {
    { /* body */ ; }
    q++;
    { /* body */ ; }
    p++;
}