新手上路:用C语言解决一个sin(x)曲线显示问题. 极度渴望详细解答,请大家帮忙啊
实现用'*'显示0°-360°的sin(x)曲线
如何用C语言来实现?
请大家帮忙!
[解决办法]
最笨的法子,抛砖引玉:
- C/C++ code
#include <stdio.h>#include <math.h>#define N 10#define PI 3.1415int main(){ double x; int i, j; int y; int p = (int)N*PI; for(i = 0; i <= 2*N ; i++) { y = p - (int)((asin(1-i/(double)N))*10); if(i < N){ for(j = 1; j < p-y; j++) printf(" "); printf("*"); for(; j <= y; j++) printf(" "); printf("*\n"); } else if(i > N) { for(j = 0; j < y; j++) printf(" "); printf("*"); for(; j <= 3*p-y; j++) printf(" "); printf("*\n"); } } return 0;}
[解决办法]
应该有绘图指令,画点的,具体方法忘了,上网可查。然后用他们的方法可以完成。
[解决办法]
描点法
[解决办法]
做好用图形库,然后描点解决。
[解决办法]
- C/C++ code
#include <string>#include <iostream>#include <cmath>using namespace std;#define PI 3.1415926int main(void){ int x; for(double alpha=0.0;alpha<360;alpha+=3.0) { x=int(sin(alpha*PI/180)*30)+30; for(int i=0;i<x;++i) cout<<" "; cout<<"*"<<endl; } system("pause"); return 0;}