|
【8】 #include <stdio.h>
void main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= 9 - i; j++) printf(" "); for (; j <= 9; j++) printf("%d*%d=%-2d ", i, j, i * j); putchar('\n'); } } 特別注意在%-2d後有一個空格,減號表示靠左顯示。
|
|
減號靠左顯示可以按如下方法記憶: -+ 左右
|
|
【第7題和第8題一模一樣】 寫的時候注意printf("%d*%d=%-2d ", i, j, i * j);一定要把最後三個參數寫全,不要疏忽大意寫成了:printf("%d*%d=%-2d ", i * j);導致不必要的丟分。
|
|
【6】 #include <stdio.h>
void main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j < i; j++) printf(" "); for (; j <= 9; j++) printf("%d*%d=%-2d ", i, j, i * j); putchar('\n'); } }
|
|
【5】 #include <stdio.h>
void main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) printf("%d*%d=%-2d ", i, j, i * j); putchar('\n'); } }
|
|
【4】 #include <stdio.h>
void main() { int y, m, d; int sum = 0; int month; int leap = 0; scanf("%d%d%d", &y, &m, &d); if (y % 100 == 0 && y % 400 == 0) leap = 1; if (y % 100 != 0 && y % 4 == 0) leap = 1; for (month = 1; month <= m - 1; month++) { switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: sum += 31; break; case 2: if (leap) sum += 29; else sum += 28; break; default: sum += 30; } } sum += d; printf("第%d天\n", sum); }
|
|
最后还剩下第2题和第3题。
|
|
41樓 巨大八爪鱼
2016-1-16 13:30
今天接着复习。
|
|
42樓 巨大八爪鱼
2016-1-16 13:53
【2】 #include <stdio.h>
void main2() { long int i, bonus; scanf("%ld", &i); if (i <= 100000) bonus = i * 0.1; else if (i <= 200000) bonus = 0.1 * 100000 + 0.075 * (i - 100000); else if (i <= 400000) bonus = 0.05 * (i - 200000); else if (i <= 600000) bonus = 0.03 * (i - 400000); else if (i <= 1000000) bonus = 0.015 * (i - 600000); else bonus = 0.01 * (i - 1000000); printf("%d\n", bonus); } 【3】 #include <stdio.h> #include <math.h>
void main() { long int i, j; for (i = 0; i < 100000; i++) { j = sqrt(i + 100); if (j * j == i + 100) { j = sqrt(i + 268); if (j * j == i + 268) printf("%ld\n", i); } } }
|
|
43樓 巨大八爪鱼
2016-1-16 13:55
特别注意,在输出long int的时候要写%ld,而不是%d,这个特别容易出错。
|