C++复习(二)——绘制余弦函数图像

 

       更新完第一篇C++介绍文章发现太干了,直接介绍定义还不如看书学得快,因此在接下来的文章中会将我曾经刷过的题目整理上来,在注释中不断引入新的知识点,函数,数据结构,遇到的坑等等,同时也会对题目进行解析,这样复习的效率会高一些,题目的梗概即为文章题目。

第一题:在屏幕上使用“*”显示0度~360度的余弦函数曲线 。

/*
题目:在屏幕上使用“*”显示0度~360度的 
	  余弦函数曲线 
	  
分析:输出余弦曲线,必要使用cmath包,余弦曲线坐标显示分为x轴和y轴 
	  即一个x对应一个y值,且余弦函数的是关于π对称的,cos()函数使用的是
	  弧度,不好操作,所以这里以y轴为基准,计算反函数,从而输出整个图像
	  
	  c++输出是一行一行输出,所以本题的输出模式应该是“*       *”,即星号
	  空格空格、、、星号形式,计算反余弦值范围为0~3.14,为提高
	  精度,应放大十倍,这样既可以看出图像又不至于超出显示,所以显示的 
	  一半格子为31个,全部格子为64个。
	  
	  按照图像形式,将y值以1~-1范围输入,每一行对应的x值输入*,其余
	  以空格表示即为所求。 

{
cmath中常用库函数:

int abs(int i);//返回整型参数i的绝对值
double fabs(double x);//返回双精度参数x的绝对值
long labs(long n);//返回长整型参数n的绝对值

double exp(double x);//返回指数函数e^x的值
double log(double x);//返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回x^y的值
double pow10(int p) 返回10^p的值

double sqrt(double x) 返回+√x的值

double acos(double x) 返回x的反余弦arccos(x)值,x为弧度
double asin(double x) 返回x的反正弦arcsin(x)值,x为弧度
double atan(double x) 返回x的反正切arctan(x)值,x为弧度
double cos(double x) 返回x的余弦cos(x)值,x为弧度
double sin(double x) 返回x的正弦sin(x)值,x为弧度
double tan(double x) 返回x的正切tan(x)值,x为弧度

double hypot(double x,double y) 返回直角三角形斜边的长度(z),
  								x和y为直角边的长度,z^2=x^2+y^2
double ceil(double x) 返回不小于x的最小整数
double floor(double x) 返回不大于x的最大整数

double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数
double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数
double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0
int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0
long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 

} 
*/
#include<iostream> 
#include<cmath>
using namespace std;

int main(){
	double y;
	int x,space;
	for(y = 1;y >= -1;y -= 0.1){
		//cout<<acos(y)*10<<endl;
		space = acos(y)*10;
		for(x = 0;x < space;x++){
			cout<<" ";
		}
		cout<<"*";
		for(;x < 62-space;x++){
			cout<<" ";
		}
		cout<<"*"<<endl;
	} 
	return 0;
}

       这其中有不合适或者不正确的地方欢迎指正,我的QQ号码:2867221444(乔金明),谢谢,也可以相互交流下,备注信息随意,只要能看得出是开发者或者学习者即可。

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值