用C语言画斐波那契曲线
时间: 2023-07-27 09:05:51 浏览: 111
斐波那契数列C语言
斐波那契曲线是由斐波那契数列生成的一种曲线,可用C语言绘制。以下是一个示例代码,使用了SDL库来绘制:
```c
#include <stdio.h>
#include <stdlib.h>
#include <SDL2/SDL.h>
#define WIDTH 800
#define HEIGHT 600
int main(int argc, char* argv[]) {
SDL_Window* window;
SDL_Renderer* renderer;
SDL_Event event;
// 初始化SDL
SDL_Init(SDL_INIT_VIDEO);
SDL_CreateWindowAndRenderer(WIDTH, HEIGHT, 0, &window, &renderer);
SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);
SDL_RenderClear(renderer);
// 计算斐波那契数列
int fib[30];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i < 30; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
// 绘制斐波那契曲线
int x = 0, y = HEIGHT / 2;
for (int i = 0; i < 20; i++) {
int dx = fib[i] * 5;
SDL_RenderDrawLine(renderer, x, y, x + dx, y);
x += dx;
int dy = (i % 2 == 0 ? 1 : -1) * fib[i+1] * 5;
SDL_RenderDrawLine(renderer, x, y, x, y + dy);
y += dy;
}
// 显示窗口
SDL_RenderPresent(renderer);
// 处理事件
while (SDL_WaitEvent(&event)) {
if (event.type == SDL_QUIT) {
break;
}
}
// 释放资源
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
```
这段代码使用了SDL库,可以通过以下命令安装:
```
sudo apt-get install libsdl2-dev
```
运行程序后,将显示一个斐波那契曲线的窗口。
阅读全文