帮我写一个C语言的递归绘制标尺
时间: 2023-06-03 07:06:04 浏览: 64
好的,我可以为您提供一个简单的C语言递归程序,用于绘制标尺。请看下面的代码:
```c
#include <stdio.h>
void drawRuler(int nInches, int majorLength) {
int j;
if(nInches > 0) { // 递归基础部分
drawRuler(nInches-1, majorLength);
for(j = 0; j < majorLength; j++)
printf("-");
printf(" %d\n", nInches);
drawRuler(nInches-1, majorLength);
}
}
int main(void) {
int nInches, majorLength;
printf("请输入标尺的长度(英寸):");
scanf("%d", &nInches);
printf("请输入每个大刻度的长度(英寸):");
scanf("%d", &majorLength);
drawRuler(nInches, majorLength);
return 0;
}
```
该程序将绘制一个包含指定长度和大刻度长度的标尺。 如果您需要更多的细节以及对此程序的解释,请随时告诉我。
相关问题
给我写一个c语言递归程序
以下是一个简单的递归程序,打印数字从1到n:
```c
#include <stdio.h>
void printNumbers(int n)
{
// base case
if (n == 0) {
return;
}
// recursive case
printNumbers(n - 1);
printf("%d ", n);
}
int main()
{
int n = 10;
// call the recursive function
printNumbers(n);
return 0;
}
```
运行结果:
```shell
1 2 3 4 5 6 7 8 9 10
```
这个程序首先检查n是否等于0。如果是,它就返回并终止递归。否则,它递归调用`printNumbers`函数,将n减1,并打印当前数字。递归调用会一直进行,直到n等于0为止。
写一个C语言递归计算斐波那契数列
好的,我可以回答这个问题。以下是一个C语言递归计算斐波那契数列的示例代码:
```
#include <stdio.h>
int fibonacci(int n) {
if (n == ) {
return ;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int n = 10;
printf("斐波那契数列的前%d项为:\n", n);
for (int i = ; i < n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return ;
}
```
这个程序可以计算斐波那契数列的前n项,并将它们输出到屏幕上。