系统功能简述:

初等函数曲线图形的简易绘制:设屏幕显示文本是25行,
80列,可以用“+”和“——〉”号画坐标系,用“*”号画曲线上的点。用户给出初等函数,如cos(x),e^x,x^3-3x+1等,及x的取值范围,程序绘制出对应初等函数的曲线图。
功能要求:
1.从键盘上输入x的显示范围;
2.根据x的取值范围在屏幕上画出函数图形;
3.函数的选择可以由键盘输入得到。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>#define NANCHAR ' '
#define NAN -99999
#define e0 2.718281828459
char grid[25][80];
double data[80];
double dmax = 0;
double dmin = 0;double fun1(double x)
{double y = cos(x);return y;
}double fun(double x)
{double y = x*x*x-3*x+1;return y;
}double fun2(double x)
{double y = pow(e0,x);return y;
}void getminmax(int s,int e,int sel)
{float step = (e-s)/80.0;int k = 0;for(double i=s;i<=e;i+=step){double y = 0;switch(sel){case 1:y = fun(i);break;case 2:y = fun1(i);break;case 3:y = fun2(i);break;default:return;}if(i==s)dmax = dmin = y;else if(dmax < y)dmax = y;else if(dmin > y)dmin = y;data[k++] = y;}
}void getV(int range)
{float yscale = (dmax-dmin)/25; //图形适当进行压缩或拉升float xscale = range/80.0;int k = 0;for(double i=0;i<range;i+=xscale){if(data[k] != NAN){int y = int((dmax-data[k])/yscale);int x = int(i/xscale);grid[y][x] = '*';}k++;}
}void getGrid(int range)
{float yscale = (dmax-dmin)/25; //图形适当进行压缩或拉升float xscale = range/80.0;int cx = 12;int cy = 40;for(int i=0;i<25;i++){for(int j=0;j<80;j++){if(i==cx && j==cy)grid[i][j] = '+';else if(i==cx)grid[i][j] = '-';else if(j==cy)grid[i][j] = '|';elsegrid[i][j] = ' ';}}grid[11][79] = '\\';grid[13][79] = '/';grid[0][39] = '/';grid[0][41] = '\\';
}void display()
{int i,j;for(i=0;i<25;i++){for(j=0;j<80;j++){printf("%c",grid[i][j]);}printf("\n");}printf("\n");
}void main()
{while(1){int i,j;for(i=0;i<25;i++)for(j=0;j<80;j++)grid[i][j] = NANCHAR;for(j=0;j<80;j++)data[j] = NAN;system("cls");//showmenuprintf("     函数图形绘制系统\n\n");printf("       1、函数:y=x^3-3x+1\n");printf("     2、函数:y=cos(x)\n");printf("        3、函数:y=e^x\n");printf("       0、退出系统\n\n");printf(" 请输入您的选择:");int sel;scanf("%d",&sel);if(sel == 0)exit(0);printf("请设定函数x的取值范围:");int s,e;scanf("%d%d",&s,&e);system("cls");getminmax(s,e,sel);getGrid(e-s);getV(e-s);display();system("pause");}
}

C语言 函数图形绘制系统相关推荐

  1. MATLAB 计算器,函数图形绘制,图片展示 APP Designer 版本

    编写科学计算器,(要求)左右对分,右边上下对分,左边是科学计算器,右上是画函数图像,右下显示任意格式的图片 全部代码在文末百度云链接. 效果如上图所示,需要在设计视图拖入 面板,按钮,坐标区,编辑字段 ...

  2. R语言基础图形绘制——箱线图

    R语言绘制箱线图 简介 1. 基础函数-`boxplot()` 2. `ggplot()`函数 简介 箱线图主要是通过四分位数描述数据分布,通过最大值,上四分位数,中位数,下四分位数,最小值五处位置描 ...

  3. MATLAB函数图形绘制

    MATlAB命令 功能 fplot(fun,lims) 绘制符号函数fun在区间lims=[xmin,xmax]间的图像 plot(x,y,s) 绘制由向量x和向量y给定的离散数据连接起来的图像, s ...

  4. R语言学习笔记(二)处理函数与基本图形绘制

    写在前面 主要内容 数学与统计函数 数据的标准化 概率函数 生成服从正态分布的伪随机数 字符串处理函数 应用于矩阵和数据框的函数 图形绘制 直方图的绘制(hist) 核密度图的绘制 箱线图 经验分布图 ...

  5. 神经网络基础知识、常用激活函数及其Python图形绘制

    在人工智能与机器学习研究与应用领域,神经网络占有重要地位.神经网络(Neural Networks, NNs),又称人工神经网络(Artificial Neural Networks, ANNs),是 ...

  6. 计算机图形学绘制图形的过程,计算机图形学13_图形绘制流水线的实现.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp图形图像 计算机图形学13_图形绘制流水线的实现.pdf6页 本 ...

  7. 在线数学函数图形和在线数据结构演示

    Desmos Graphing Calculator https://www.desmos.com/calculator HTML5数学函数图形绘制插件XCalc http://www.html5tr ...

  8. C语言中图形函数及其用法

    C语言中图形函数及其用法  Turbo C 2.0具有丰富的图形功能,它提供了70多个图形函数.在这里只介绍最常用的一部分,其余的图形函数及用法可参阅相关书籍.图形函数均在头文件"graph ...

  9. matlab中rastrigin图形绘制,matlab函数function

    x?6 x?6 (1) 利用MATLAB语言编写S函数.程序如下: function [sys,x0,str,ts]=sfunction(t,x,u,flag) switch flag, case 0 ...

最新文章

  1. 【Junit】BeforeClass、Before、After、AfterClass
  2. Java多线程中join方法详解
  3. react系列项目地址
  4. Vsftpd服务的部署及优化
  5. 一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate
  6. Music Workshop (Unix Name: clavio)
  7. winform ui 界面参考
  8. 【jquery调用ajax老是进error,不进success】 bug命名:小雨
  9. Python之OpenGL笔记(31):扭动的软糖
  10. QCA9531+QCA9887系列嵌入式双频AP模块选型参考
  11. 这10部功夫片曾拿到金像奖最佳动作设计奖,李连杰主演的就有4部
  12. IT狂人职场路:揭秘华为百度高管如何炼成?
  13. 电脑无法进入bios
  14. Windows无法完成格式化U盘终结解决方法
  15. 什么样的领导者,更能赢得人心?
  16. My Visual DataBase(数据库编程软件)v5.3免费版
  17. 别人的计算机网络看不到,局域网内看不到别人的电脑怎么办
  18. jenkins发送allure测试报告
  19. AMD推两款集成CPU和GPU的新FirePro处理器
  20. position常用属性值

热门文章

  1. 交通状态预测 | Python实现基于Transformer的交通流预测
  2. 常见三维文件格式之STL, VRML, X3D
  3. Makefile中的“-I”(大写i),“-L”(大写l),“-l”(小写l)
  4. C++priority_queue模拟实现与仿函数讲解
  5. 设备管理系统在智能制造中的重要作用
  6. Python数据分析期末复习归纳
  7. android 短信接口收拦截,给手机装“来点黑名单” 拒绝垃圾短信和电话
  8. 几款超实用的知识管理软件,你都GET了吗?
  9. 关于Qwt的使用-QwtPlot
  10. 学计算机电脑选台式还是笔记本,选台式机还是笔记本?台式机和笔记本电脑选购技巧...