作业帮 > 综合 > 作业

c语言编程,在屏幕上绘制y=a*x2+b*x+c的图形,x取值从-d到+d之间.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 21:57:44
c语言编程,在屏幕上绘制y=a*x2+b*x+c的图形,x取值从-d到+d之间.
[1]由主函数读入a,b,c,d.
[2]编写函数,在屏幕上绘图,不得使用全局变量.
[3]x轴绘图分辨率必须达到取值区间的1/10以上.
#include<stdio.h>
void Draw(double a,double b,double c,double d){    int const N=40;    int const Y=20;    char mp[N][N];    int i,j;
     for(i=0;i<N;i++)
    for(j=0;j<N;j++)    mp[i][j]=' ';
     double dx=d*2/N;
    double x=-d,y;    for(i=0;i<N;i++)    {        x+=dx;        y=x*x*a+b*x+c;        if((int)(y)+Y>=N)continue;        mp[(int)y+Y][i]='*';    }    for(i=N-1;i>=0;printf("\n"),i--)    for(j=0;j<N;j++)    printf("%c",mp[i][j]);}int main(){    double a,b,c,d;    scanf("%lf%lf%lf%lf",&a,&b,&c,&d);    Draw(a,b,c,d);    return 0;} 你看这种能够达到你的要求不.程序里面有局限性,就是算出的y不能太大了