C 练习实例6
题目:用*号输出字母C的图案。
程序分析:可先用'*'号在纸上写出字母C,再分行输出。
参考代码为:
#include <stdio.h> int main() { int n = 0; scanf_s("%d", &n); int i = 0; for (i = 0; i < n; i++) { int j = 0; for (j = 0; j < n; j++) { if ((i == 0) || (i == n - 1) || (j == 0)) { printf("*"); } } printf("\n"); } return 0; }
代码的运行结果为:
C 练习实例8
题目:输出9*9口诀。
程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。
参考代码为:
#include <stdio.h> int main() { int i = 0; for (i = 1; i <= 9; i++) { int j = 0; for (j = 1; j <= i; j++) { printf("%d*%d=%2d ", i, j, i * j); } printf("\n"); } return 0; }
代码的运行结果为:
C 练习实例10
题目:打印楼梯
用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
参考代码为:
#include <stdio.h> int main() { int n = 0; scanf_s("%d", &n); int i = 0; for (i = 0; i < n; i++) { int j = 0; for (j = 0; j <= i; j++) { printf("** "); } printf("\n"); } return 0; }
代码的运行结果为:
C 练习实例11
题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。
参考代码为:
#include <stdio.h> int my_tu(int n) { if (n == 1) return 1; if (n == 2) return 1; if (n > 2) return my_tu(n - 1) + my_tu(n - 2); } int main() { int n = 0; scanf_s("%d", &n); printf("%d\n", my_tu(n)); return 0; }
代码的运行结果为:
C 练习实例12
题目:判断101到200之间的素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
参考代码为:
#include <stdio.h> int main() { int i = 0; for (i = 101; i <= 201; i++) { int j = 0; int flag = 1; for (j = 2; j < i; j++) { if (i % j == 0) { flag = 0; } } if (flag == 1) { printf("%d ", i); } } }
代码的运行结果为: