编程介的小学生 2018-11-11 05:20 采纳率: 20.5%
浏览 1199
已采纳

C++语言用控制台不用图形的方式,如何输出一个函数的图像?

Problem Description
在数学中,我们经常会遇到,关于函数的问题,在画一些函数的图像的时候,最长用的方法就是“描点法”。

“描点法” 的具体步骤如下:

计算出函数在某些特定点的值
在坐标系中标记出这些点
用平滑的曲线连接这些点

但是,在实际的操作中,我们会发现,前两部的计算量还是相当大的,所以,我们想编写一个程序,能够在一个坐标系中直接的画出各点。

为了简化这个问题,给出如下y 关于x 的函数表达式

y=a1x^b1+a2x^b2+a3x^b3+...+anx^bn

表达式不超过5项,并且 其中每项的系数 -10 < a <10 , x的指数 0 <= b < 5
表达式中,所有的字符串都是以 ”y=” 开始的 ,在之后的字符串中只含有x ,+ , - , 0~9 这些字符,不含有空格。无非法表达式输入。

特别的:
当x 的指数为1时,省略指数, 例如: y = 2x^1 应表示为 y = 2x
当x 的指数为0时,省略指数和x, 例如: y = 3x^3+2x^0 应表示为 y = 3x^3+2
当x 的系数为负时, 例如: y = 3x^2 + (-1) x 应表示为 y = 3x^2 – x , y = 2x + (-2) 应表示为 y = 2x - 2
在如下坐标系中画出,x属于[-30,30] 所对应y属于[-30,30]的图像。

Input
多组数据输入,每组数据的第一行给出一个n (1<=n <= 26) ,接下来的n行,每行有一个函数的表达式。

Output
对于每组输入数据,在第一行输出,”Case:#” ,# 代表当前的组号。 画出该函数的图像 x取值[-30,30]时, y在 [-30,30]内的点 。对于给出的n个表达式,依次用字母a-z表示每个函数图像上的的所有点。两个图像的交点 或者 图像与坐标轴的交点 用 ‘.’ 表示。输出格式如下所示。各组之间无空行。

Sample Input
2
y=-x-1
y=x^4+1-x^3

Sample Output
Case:1
y^

|

a |

a |

a |

a |

a b |

a |

a |

a |

a |

a |

a |

a |

a |

a |

a |

a |

a |

a |

a |

a |

a | b

a |

a |

a |

a |

a |

a b|

a |

a .b

-----------------------------.+------------------------------>
. x
|a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

| a

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-12-04 13:18
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题