| 203.88.224.* |
1楼 { int i, j, k=0; char ar[20][20]; for(i=0; i<4; i++) { for(j=0; j<4; j++) { k++; ar[i][j] = k; printf("%d", k); printf(" "); } printf("\n"); } return 0; } ------------------------------------------------------- 上面的程序运行结果是: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 如果要得到: 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 应该怎么写? |
|
|
|
2楼 { int i, j, k=0; char ar[20][20]; for(i=0; i<4; i++) {k++; for(j=0; j<4; j++) { ar[i][j] = k; } } for(i=0;i<4;i++) for(j=0;j<4;j++) { printf("%d",ar[j][i]) printf("\n"); } return 0; } ----------------- 实际上就是四阶矩阵的转置 |
|
|
|
| 203.88.224.* |
3楼 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 |
|
|
|
4楼 { int i, j, k=0; char ar[20][20]; for(i=0; i<4; i++) { for(j=0; j<4; j++) { k++; ar[i][j] = k; } } for(i=0;i<4;i++) {for(j=0;j<4;j++) printf("%d ",ar[j][i]); printf("\n"); } return 0; } |
|
|
|
| 203.88.224.* |
5楼 谢谢! |
|
|
| 203.88.225.* |
6楼 BWB WBW BWB 输入为4,将得到: BWBW WBWB BWBW WBWB 怎样写这个程序?谢谢! |
|
|
|
7楼 int main (int argc, char *argv[]) { unsigned int i, j, c; char wb = 'W', wbb = 'B'; if (1 == scanf("%u", &c)) for (i = 0; i < c; (c%2) ? wb ^= wbb ^= wb ^= wbb : 0, putchar('\n'), i++) for (j = 0; wb ^= wbb ^= wb ^= wbb, j < c; putchar(wb), j++); return 0; } |
|
|
|
| 203.88.225.* |
8楼 |
|
|
| 203.88.225.* |
10楼 tmp = wb; wb = wbb; wbb = tmp; ? 因为是初学者,不是很理解不for loop里面的东西? (c%2) ? wb ^= wbb ^= wb ^= wbb : 0, 表示当(c%2) 成立时,执行wb ^= wbb ^= wb ^= wbb , 否则退出循环? 但是在第二个for loop里,wb ^= wbb ^= wb ^= wbb 是什么意思呢? |
|
|
| 61.185.11.* |
11楼 { int i, j, k=0; char ar[20][20]; for(i=0,k=1; i<4; i++,k++;) { for(j=0; j<4; j++) { k=k+4; ar[i][j] = k; printf("%d", k); printf(" "); } printf("\n"); } return 0; } |
|
|
| 203.88.225.* |
12楼 5 9 3 17 22 26 30 34 39 43 47 51 56 60 64 68 |
|
|
| 203.88.225.* |
13楼 |
|
|
|
14楼 对那种人,我要不就不理,要不就写一个很难懂的,让他没办法给老师解释。哈哈。 7 楼的就是故意这样写的。 我仔细看了一下你的帖子,你不像那些人,所以我重写了一个,这个思路比较容易看出来。 #include <stdio.h> const char letter1 = 'B'; const char letter2 = 'W'; int main (int argc, char *argv[]) { int row, column; unsigned int lines; char c; if (1 != scanf("%u", &lines)) /* something wrong entered, exit */ return -1; for (row = 0; row < lines; row++) { if (row%2) c = letter2; else c = letter1; for (column = 0; column < lines; column++) { printf("%c", c); if (letter1 == c) c = letter2; else c = letter1; } printf("\n"); } return 0; } |
|
|
|
| 203.88.224.* |
15楼 那道题是我昨天的考试题的第一题,浪费了好多时间,最后都没想出来,所以拿上来问了。 |
|
|
| 218.25.205.* |
16楼 |
|
|
| 61.141.157.* |
17楼 |
|
|
| 61.144.172.* |
18楼 |
|
|
| 219.140.81.* |
19楼 { int i,j,b=1; for(i=1;i<=4;i++) { for(j=1;j<=4;j++) { printf("%4d",b); b=b+4; } printf("\n"); b=1+i; } scanf("%d",b); } 不是很难吧 |
|
|
| 219.236.16.* |
20楼 大家一起交流和学习。 语言上的东西是需要多交流互动, 看别人的问题补自己的潜在问题。 |
|
|
| 220.175.89.* |
21楼 吧,是什么意思呢?上机时有warning啊,如果除去它们就没有了warning ,加上它们是什么意思呢? |
|
|
| 219.140.88.* |
22楼 main() { int i,j,n; scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) { if((i+j)%2==0) printf("B"); else printf("W"); } printf("\n"); } } |
|
|
| 218.81.147.* |
23楼 等着急用!!!!!!!! |
|
|
| 222.55.63.* |
24楼 那遇到M*N型的时候怎么做?? 我一直做不出! |
|
|
|
26楼 |
|
|
| 220.173.90.* |
27楼 “水仙花数”利用FOR循环控示100-999个数? 这两题不会做。 请以上几位高手们指点一下可以吗~! |
|
|
| 219.216.128.* |
28楼 @@@ @@@@@ @@@@@@@ @@@@@@@@@ 这道题谁会呀? 帮我把程序写下 谢谢了 |
|
|
| 59.46.44.* |
29楼 其实我也是北大青鸟的,我有个问题是,上课的时候都听懂了,怎么一上机的时候就晕忽忽的?? |
|
|
|
30楼 #include<stdio.h> #define M 4 int main() {int a[M][M],i,k,n; for(i=0;i<M;i++) { n=i+1; for(k=0;k<M;n+=M,k++) {a[i][k]=n;} } for(i=0;i<M;i++) { for(k=0;k<M;k++) printf("%3d",a[i][k]); putchar('\n'); } getch(); return 0; } |
|
|
|
