我把x以像素为单位画出的图不是一条连续的曲线,因为得到的y值全是int型的,画出的是一段段直线,请问哪位大侠可以给出一个解决方案?
void drawExp(HWND hWnd){
static RECT rc; if(rc.right==0) GetClientRect(hWnd,&rc);
static float w=rc.right, h=rc.bottom, xo=w/2-w/4, yo=h/2+h/4;
HDC hdc=GetDC(hWnd);
SetGraphicsMode(hdc,GM_ADVANCED);
SetMapMode(hdc, MM_LOENGLISH);
SetViewportOrgEx(hdc,xo,yo,0L);
MoveToEx(hdc,-w/2 +140,0,0L); LineTo(hdc,w, 0); MoveToEx(hdc,0,-h/2+80,0L); LineTo(hdc,0,h/2+ 80);
float r=100;
float x=-w/2 +160, y=0; xo=x; yo=exp(-x/200)*r; MoveToEx(hdc,xo,yo,0L);
float dx=1;
do{
x+=dx; y=exp(-x/200)*r;
LineTo(hdc,x,y);
xo=x, yo=y; }while(x<w);
ReleaseDC(hWnd,hdc); }
本回答被提问者采纳
用c++语言 如何画出以e为底的指数函数曲线 如函数y=exp(-x\/200)
x+=dx; y=exp(-x\/200)*r;LineTo(hdc,x,y);xo=x, yo=y; }while(x<w);ReleaseDC(hWnd,hdc); }
用牛顿迭代法求多项式的根(C\/C++语言)
double e_present; \/\/ 本次迭代误差double e_previous; \/\/ 前次迭代误差j=0;\/* Newton 迭代法 *\/do{ x[i][j+1]=x[i][j]-f(x[i][j])\/df(x[i][j]); e_present=fabs(x[i][j+1]-x[i][j]); if (j!=0) e_previous=fabs(x[i][j]-x[i][j-1]); else e_previous=e_prese...
写一函数求sinh(x)的值.求其近似公式为sinh(x)=e^x-e^(-x)\/2 其中...
return (std::exp(x)-std::exp(-x))\/2;} 本回答由提问者推荐 举报| 答案纠错 | 评论 2 5 wqzhishou 采纳率:36% 擅长: C\/C++ VC++ 编程语言 JAVA相关 为您推荐: -sinh sinhx和sinh-x sinh(x-y)如何表示 三角函数 幂函数 asinh函数 sinh函数积分 sinh函数性质 sinht asinh是什么...
Visual C++ sprintf()函数用法
printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。格式化数字字符串sprintf 最常见的应用之一莫过于把整数打印到字符...
pascal决赛求助!!高手快进...
exp 函数 指数函数 expandfilename 函数 返回包含绝对路径的字符串 extendedselect 属性 是否允许存在选择模式,true时,multiselect才有意义 extractfiledir 函数 返回驱动器和路径 extractfileext 函数 返回文件的后缀 extractfilename 函数 返回文件名 extractfilepath 函数 返回指定文件的路径 fileage 函数 返回文件已存在...
c语言中c=++a是什么意思
a++这个式子的返回值是a,所以b=a++相当于b=a,然后a=a+1;++a的返回值是a+1;所以b=++a相当于a=a+1;然后b=a;a++先返回a,再自加 ++a先自加,再返回a 如a=3 b=a++;\/\/b=3 c=++a;\/\/c=5
用c语言编写俄罗斯方块程序 求详解
在某位置处用函数DrawRock在屏幕上画出俄罗斯方块,然后再擦除掉(即用背景色在原位置处重绘一次方块),最后在下落的下一个位置处用函数DrawRock在屏幕上画出俄罗斯方块,如此循环,中间用计时器间隔一段时间以控制下落的速度。同理,按下屏幕的左右键也是如此,只是在按下键盘时把方块的位置重新计算了。
有没c++的题集及答案
9、设有6个十进制数字a,b,c,d,f,e,求满足abcdf×e=fdcba条件的五位数abcdf中(a≠0,e≠0,e≠1)最大的一个。回文数10、回文数是指正读和反读都一样的正整数。例如3773是回文数。求出[1000,9999]之间的偶数回文数的个数。11、回文数是指正读和反读都一样的正整数。例如3773等都是回文数。求出...
关于matlab的应用
plot() 函数还可以同时绘制出多条曲线,其调用格式和前面不完全一致,但也好理解。>> y1=cos(t); plot(t,y,t,y1); %或 plot(t,[y; y1]), 即输出为两个行向量组成的矩阵。图形见 4.1(b)。plot() 函数最完整的调用格式为:>> plot(x1,y1,选项1, x2,y2, 选项2, x3,y3, 选项3, ...)其中...
用C++编写的小游戏源代码
cout << "y or n :";char c = 'y';cin >> c;if (c == 'n')break;} } protected:int ChoiceMode() \/\/选择模式 { int i = 0;system("cls"); \/\/系统调用,清屏 InitChessBoard(); \/\/重新初始化棋盘 cout << "***0、退出 1、电脑vs玩家 2、玩家vs玩家***"...