C语言程序设计问题,大神进,高分悬赏。。。。初等函数曲线图形的简易绘制

2024-11-08 10:32:47
推荐回答(2个)
回答1:

可以做一个二维[整形或char类型]数组,行列分别是屏幕的行列数,然后,通过计算在修改对应位置元素的值就可以,然后将数组元素打印出来(这里以char类型为例):

#include
#include
#include

#define ROW 25
#define COL 84
char table[ROW][COL];

void initTable()
{
for(int i = 0; i < ROW; i++)
{
for(int j = 0; j < COL; j++)
{
table[i][j] = ' ';
}
}
}

int main(int argc, char*argv[])
{
// 这里以求cos(x) 为例

// 因为行列数为整形,所以这里对所求结果向下取整
// 这里以第20行为横坐标位置

// 先绘制x,y坐标
for(int row = 0; row < ROW; row++)
{
table[row][0] = '|';
}
table[20][0] = '+';
for(int col = 1; col < COL; col++)
{
table[20][col] = '-';
}
table[0][0] = '^';
table[20][COL - 1] = '>';

// 这里随x计算cos的值,并将对应的坐标处的字符替换为'*';

for(int x = 0; x < COL - 1; x++)
{
table[5 * ((int)(cos(x)))][x] = '*';
}

// 接下来就是逐行输出了
for(int i = 0; i < ROW; i++)
{
for(int j = 0; j < COL; j++)
{
printf("%c", table[i][j]);

}
}
system("pause");
}

回答2:

这个很简单的。你慢慢的理清思路就会做了。我发给你程序。里面有注解。相信你会明白的