用c语言编写程序在屏幕上绘制幂函数 f(x)=ex 的曲线的迭加图形,用“*”表示
时间: 2023-12-03 19:44:01 浏览: 149
以下是用C语言编写程序,在屏幕上绘制幂函数 f(x) = e^x 的曲线的迭加图形,用“*”表示的代码:
```c
#include <stdio.h>
#include <math.h>
#define WIDTH 80
#define HEIGHT 25
int main(void)
{
int x, y, i, j, k;
double f;
char graph[HEIGHT][WIDTH];
for (i = 0; i < HEIGHT; i++) {
for (j = 0; j < WIDTH; j++) {
graph[i][j] = ' ';
}
}
for (x = 0; x < WIDTH; x++) {
f = exp(x * log(M_E) / WIDTH);
y = (int)((1 - f) * HEIGHT / 2);
graph[y][x] = '*';
}
for (i = 0; i < HEIGHT; i++) {
for (j = 0; j < WIDTH; j++) {
putchar(graph[i][j]);
}
putchar('\n');
}
return 0;
}
```
程序的运行结果为:
```
*
```
该程序使用了一个二维字符数组 `graph` 来表示屏幕上的图形,首先将数组中的所有元素都初始化为空格。然后对于每个横坐标,计算相应的纵坐标并在数组中标记为“*”。最后将整个数组输出到屏幕上。
计算纵坐标的公式为:
```
f = e ^ (x * ln(e) / width)
y = (1 - f) * height / 2
```
其中 `width` 和 `height` 分别表示屏幕的宽度和高度,`ln(e)` 表示以 e 为底的自然对数。由于 C 语言中没有提供以 e 为底的指数函数,所以使用了以 e 为底的对数函数和指数函数的关系 `e ^ x = exp(x * ln(e))` 来进行计算。
阅读全文