visual c++ 2012入门经典 练习(第五章)

本文介绍了三个C++编程实例:递归实现阶乘计算并进行错误处理;通过指针交换两个整数变量的值;实现自定义的三角函数计算(sind, cosd, tand),这些实例有助于理解C++的基本语法和函数使用。

(一)求阶乘:

#include <iostream>

#include <iomanip>

using std::cin;
using std::cout;
using std::endl;
using std::setw;

int fact(int n);

int main(int argc,char* argv[]){
int a;
int result;
cout<<"输入a值:";
cin>>a;
try{
result=fact(a);
if(result==0)
throw "输入的值有误";
cout<<"a的阶乘是:"<<a<<"!="<<result<<endl;
//cout<<"5的阶乘是:"<<"5!="<<result<<endl;
}
catch(const char message[]){
cout<<message<<endl;

}
}

int fact(int n){
int result;
if(n>0)
return result=n*fact(n-1);
else if(n<0){
cout<<"请输入正值"<<endl;
return 0;
}
else
return 1;
//return result;

}

(二)指针传递交换值

#include <iostream>
#include <iomanip>

using std::cin;
using std::cout;
using std::endl;
using std::setw;

int ex_num(int* a,int* b);

int main(int argc,char* argv[]){
int a_num(5);
int b_num(6);
int* pa(&a_num);
int* pb(&b_num);
ex_num(pa,pb);
//ex_num(&a_num,&b_num);
cout<<"a_num="<<a_num<<";"<<"b_num="<<b_num<<endl;
}

int ex_num(int* a,int* b){
int t;
t=*a;
*a=*b;
*b=t;
return 0;
}

(三)三角函数

#include <iostream>
#include <iomanip>
#include <cmath>

using std::cin;
using std::cout;
using std::endl;
using std::setw;

double sind(double angle);
double cosd(double angle);
double tand(double angle);

#define PI 3.1415925

int main(int argc,char* argv[]){
double angle_a;
double angle_b;
double angle_c;

//cout<<"sin(90)="<<sin(90)<<endl;
cout<<"请输入角度:"<<endl;
cin>>angle_a;
cin>>angle_b;
cin>>angle_c;
cout<<"sind("<<angle_a<<")="<<sind(angle_a)<<endl;
cout<<"cosd("<<angle_b<<")="<<cosd(angle_b)<<endl;
cout<<"tand("<<angle_c<<")="<<tand(angle_c)<<endl;
}

double sind(double angle){
return sin(angle/180.0*PI);
}

double cosd(double angle){
return cos(angle/180.0*PI);
}

double tand(double angle){
return tan(angle/180.0*PI);
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值