|
现在开始复习第3章。 已看完第15题(最后一题),现在开始从第一题看起。
|
|
【1】 #include <stdio.h>
int main() { int i, j, k; int count = 0; for (i = 1; i <= 4; i++) { for (j = 1; j <= 4; j++) { for (k = 1; k <= 4; k++) { if (i != j && i != k && j != k) { printf("%d ", i * 100 + j * 10 + k); count++; } } } } printf("\n共有%d个数\n", count); return 0; }
|
|
【9】 #include <stdio.h>
void main() { int i, j; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { if ((i + j) % 2 == 0) printf("%c%c", 0xa1, 0xf6); else printf(" "); } putchar('\n'); // 注意每一行的回车符不要忘了 } }
|
|
【10】 #include <stdio.h>
void main() { int i = 0, j = 0; while (i < 8) { j = 0; while (j < 8) { if ((i + j) % 2 == 0) printf("%c%c", 0xa1, 0xf6); else printf(" "); j++; } putchar('\n'); // 注意每一行的回车符不要忘了 i++; } }
|
|
【11】 #include <stdio.h>
void main() { int i = 0, j = 0; do { j = 0; do { if ((i + j) % 2 == 0) printf("%c%c", 0xa1, 0xf6); else printf(" "); j++; } while (j < 8); putchar('\n'); // 注意每一行的回车符不要忘了 i++; } while (i < 8); }
|
|
【12】 #include <stdio.h>
void main() { long f1, f2; int i; f1 = f2 = 1; for (i = 0; i < 20; i++) { printf("%12ld %12ld", f1, f2); if (i % 2 == 1) // 注意换行的条件是余数等于1! putchar('\n'); f1 = f1 + f2; f2 = f1 + f2; } }
|
|
【13】 #include <stdio.h>
void main() { int a, n, i, j; long int num, sum; printf("please input a and n\n"); scanf("%d,%d", &a, &n); printf("a=%d,n=%d\n", a, n); sum = 0; i = 1; while (i <= n) { num = 0; j = 1; while (j <= i) // 特别注意这里是<=i,不是n { num = num * 10 + a; j++; } sum += num; i++; } printf("a+aa+...=%ld\n", sum); }
|
|
【14】 #include <stdio.h> #define N 10
void main() { double height = 100.0; double length = height; // 第一次落地时,距离就等于其高度 int i = 1; // i严格代表落地次数 while (i <= N) { if (i >= 2) length += height * 2; // 第二次及以上落地时,加上反弹高度乘2 height /= 2.0; i++; } printf("the total of road is %f\n", length); printf("the tenth is %f meter\n", height); }
|
|
【14】 #include <stdio.h> #define N 10 void main() {...
注意,最后是%f不再是%d,这个特别容易疏忽而导致扣分
|
|
接下来是第2~8题。
|