计算符号
c++中的计算符号,有+(加)-(减)*(乘)/(除)%(取余)这五种(可能不止五种),作用就不用我说了。注意:要在英文输入法下输入
各种计算
在c++中,只要你写出某种计算的运行程序,c++都能帮你算出来 。
例如:
long double a,b;
char c;
int wz(int x,int y,char z){//五则运算的函数(自定义)
if(z=='+') return x+y;
else if(z=='-') return x-y;
else if(z=='*') return x*y;
else if(z=='/'){
if(y==0) cout<<"除数不能等于零"<<endl;
else return x/y;
}else if(z=='%'){
if(x-floor(x)!=0||y-floor(y)!=0) cout<<"请输入整数"<<endl;//floor()是向下取整的系统自带函数
else return (int)x%(int)y; //强行把双精度浮点转化为整型
}
}
综合代码
接下来,我把各种使用率较高的计算程序代码整合到一起:
#include<bits/stdc++.h>
using namespace std;
long long a2,b2,x,c2;
long double a,b,t;
char c;
void kt(){
cout<<"按1:五则运算(加/减/乘/除/取余)"<<endl;
cout<<"按2:n次方"<<endl;
cout<<"按3:阶乘"<<endl;
cout<<"按4:绝对值"<<endl;
cout<<"按5:最大公因数/最小公倍数"<<endl;
cout<<"按6:判断质数/合数"<<endl;
cout<<"按7:判断奇偶"<<endl;
}
int wz(int x,int y,char z){
if(z=='+') return x+y;
else if(z=='-') return x-y;
else if(z=='*') return x*y;
else if(z=='/'){
if(y==0) cout<<"除数不能等于零"<<endl;
else return x/y;
}else if(z=='%'){
if(x-floor(x)!=0||y-floor(y)!=0) cout<<"请输入整数"<<endl;
else return (int)x%(int)y;
}
}
int x3(int x){
int sum=1;
for(int i=x;i>=2;i--){
sum*=i;
}
return sum;
}
int yi(int a,int b){
if(a%b==0) return b;
else return yi(b,a%b);
}
int gyb(int a,int b,int c){
int yin,bei;
yin=yi(a,b);
if(c==1) return yin;
else return a*b/yin;
}
int zh(int a){
for(int i=1;i*i<=a;++i){
if(a%i==0) return 0;
}
return 1;
}
void ma(int t){
if(t==1){
cout<<"输入两个数和一个运算符(+ - * / %),例:1 2 +"<<endl;
cin>>a>>b>>c;
cout<<wz(a,b,c)<<endl;
}else if(t==2){
cout<<"输入两个整数分别为x和n(次方)"<<endl;
cin>>a2>>b2;
cout<<pow(a2,b2)<<endl;
}else if(t==3){
cout<<"输入一个整数"<<endl;
cin>>a2;
cout<<x3(a2)<<endl;
}else if(t==4){
cout<<"输入一个整数"<<endl;
cin>>a2;
if(a2<0) a2=0-a2;
cout<<a2<<endl;
}else if(t==5){
cout<<"输入两个整数和号码(1表示最大公因数,2表示最小公倍数)"<<endl;
cin>>a2>>b2>>c2;
cout<<gyb(a2,b2,c2)<<endl;
}else if(t==6){
cout<<"输入一个整数"<<endl;
cin>>a2;
if(zh(a2)==1){
cout<<"质数";
}else{
cout<<"合数";
}
cout<<endl;
}else if(t==7){
cout<<"输入一个整数"<<endl;
cin>>a2;
if(a2%2==1){
cout<<"奇数";
}else{
cout<<"偶数";
}
cout<<endl;
}else{
cout<<"输入序号不在范围之内,请重输"<<endl;
cin>>t;
ma(t);
}
}
int main(){
cout<<"欢迎使用计算神器服务"<<endl;
while(true){
kt();
cin>>t;
ma(t);
cout<<"还要继续吗?1---继续 0---停止"<<endl;
cin>>x;
if(x==0) break;
}
return 0;
}