定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果。
【题目2-太乐了】先听故事,再编程序。
故事是这样的:话说sin和cos是一对夫妇。一天,sin去听相声了,cos在家。过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数。cos问:你是谁啊?他说:我是你的老公sin啊。cos说:你不是去听相声了吗?怎么成这幅摸样了?他说:是啊,太乐了!
用sin和cos的泰勒展开式编程序,求出sin(π/2)、sin(56°)、cos(87°)、cos(π/3),当最后一项的绝对值小于0.00001时,累加结束(求绝对值的函数也可以自定义函数myabs实现)。
下面是程序模板,请完成自定义函数的声明和定义,并将main函数中下划线部分补充完整。
<span style="font-size:14px;">#include <iostream>
using namespace std;
const double pi=3.1415926;
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<_____________<<endl;
cout<<"cos(87°)的值为"<<mycos((87.0/180)*pi)<<endl;
cout<<"cos(π/3)的值为"<<______________<<endl;
return 0;
}
//下面定义mysin函数,求sin值
//下面定义mycos函数,求cos值
//下面定义myabs函数,求绝对值
</span>
说明:将任意函数利用泰勒公式展开为多项式进行计算,是计算机求解数值问题的一个重要手段。高等数学中的“泰勒定理”为我们解决这一大类问题提供了理论依据与方法指导。Sin听相声“太乐”了,变成了多项式,太太cos都不认识了。高等数学、线性代数等课程为我们提供解决各种问题的基础知识,是大学中最为实用的学科,学好,必须的。
实际上,C++的数学库(#include<Cmath>)中已经提供了sin和cos函数,一般解题中我们直接调用即可,而本题要求自定义函数实现,为区别起见,分别起名为mysin和mycos。
提示:程序的输出应该为
<span style="font-size:14px;">sin(π/2)的值为1
sin(56°)的值为0.829038
cos(87°)的值为0.052336
cos(π/3)的值为0.5</span>
【题目3-多文件程序组织】
【题目4-学习辅助软件开发】通过本题学习一些系统函数。
第一组是数学函数,需要#include<cmath>支持,包括log、log10、 pow、 pow10、 sqrt、 acos、 asin、 atan、 cos、 sin、 tan、 cosh、 sinh、 tanh、 ceil、 floor。
第二组是时间函数,需要#include<ctime>的支持。暂介绍一个函数long time(long *tloc)。调用time(0)将返回自格林威治时间1970年1月1日凌晨至现在所经过的秒数。显然,下面的代码可以用于测试一段代码运行的时间:
<span style="font-size:14px;">#include <iostream>
#include<ctime>
using namespace std;
int main(void)
{
int i,ran_num=0;
double t1,t2;
t1=time(0);
//将要测试的代码放在这里,因为计数单位为秒。
t2=time(0);
cout<<"运行耗时"<<t2-t1<<"秒!"<<endl;
return 0;
}</span>
<span style="font-size:14px;">#include <iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main(void)
{
int i,ran_num;
srand(time(0)); //time(0)返回值作种子
for(i=0; i<10; i++)
{
ran_num=rand()%6; //rand()返回值对6取余保证了随机数为0~5。
cout<<ran_num<<" ";
}
return 0;
}</span>
随机产生一个1000内的数字,要求用户猜测这个整数。输入一个猜测想的整数,判断是否与产生的随机数相等,由屏幕显示判断结果。如果猜得不对,给出“大了”或“小了”的提示,直到猜出这个数为止。(可以再加一个要求,猜了几次才得到正确结果。)
练习2——小学生算术能力测试系统
设计一个程序,用来实现帮助小学生进行算术运算练习,它具有以下功能:提供10道加、减、乘、除四种基本算术运算的题目,每道题中的操作数是随机产生的,且操作数不超过2位数的正整数;练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。最后显示做对了几道题。