行业知识
【C语言】机试100题及代码答案(上)
2026-11-11 16:26:52
来源:互联网转载
1、题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不***,问每个月的兔子总数为多少?(输出前20个月)
- 分���:兔子的规律为数列1,1,2,3,5,8,13,21…即下个月是上两个月之和,该模型在数学上称为fibonacci数列。
- 代码:
#include int fib(int n) {if (n == 1 || n == 2) {return 1;}else{return fib(n - 1) + fib(n - 2);}}int main(){for (int i = 1; i printf("第%d个月兔子总数为:%d\n", i, fib(i));}return 0;}int i=0;int count = 0; //素数个数for (i = 101; i int j = 0;int flag = 1; //假设是素数for (j = 2; j16、题目:用*号输出字母C的图案。
- 分析:可先用’*'号在纸上写出字母C,再分行输出。
- 代码:
#include int main(){printf(" ****\n");printf(" *\n");printf(" * \n");printf(" ****\n");return 0;}17、题目:输出特殊图案。
- 分析:字符共有256个。不同字符,图形不一样。
- 代码:
#include int main(){char a = 176, b = 219;printf("%c%c%c%c%c\n", b, a, a, a, b);printf("%c%c%c%c%c\n", a, b, a, b, a);printf("%c%c%c%c%c\n", a, a, b, a, a);printf("%c%c%c%c%c\n", a, b, a, b, a);printf("%c%c%c%c%c\n", b, a, a, a, b);return 0;}18、题目:输出9*9口诀。
- 分析:分行与列考虑,共9行9列,i控制行,j控制列。
- 代码:
#include int main(){int r;for (int i = 1; i for (int j = 1; j if (i = j) {r = i * j;printf("%d * %d = %d\t", i, j, r);}}printf("\n");}return 0;}int i, j;for (i = 1; i for (j = 1; j if ((i + j) % 2 == 0) { // 行和列相加为偶数的是白格printf("■");}else {printf(" "); // 3个空格}}printf("\n");}return 0;}printf("\n");//输出两个笑脸for (int i = 1; i