二.1
#include<iostream>
#include<cmath>
using namespace std;
double squ(double x) //定义函数
{
double s1,s2;
s1=0.5*(1.0+x);
do
{
s2=s1;
s1=(s2+x/s2)*0.5; //开方运算
}
while(fabs(s2-s1)>1.0E-6);
return s1;
}
int main()
{
double x;
cout<<"please input x:";
cin>>x;
cout<<"The square root of"<<x<<"is"<<squ(x)<<endl;
return 0;
}
2求整数次幂
#include<iostream> //求整数次幂
#include<cmath>
using namespace std;
int mi(int x,int y)
{
int z=1,i;
for(i=0;i<y;i++)
z*=x;
return z;
}
int main()
{
int a,b;
cout<<"input a and b:";
cin>>a;
cin>>b;
cout<<"结果为"<<mi(a,b)<<endl;
return 0;
}
3
#include <iostream>
void judge(int num);
using namespace std;
int main()
{
int num;
cout<<"请输入一个整数: "<<endl;
cin>>num;
judge(num);
return 0;
}
void judge(int num)
{
int i,jud=0;
for(i=2;i<num;i++)
if(num%i==0)
{
cout<<"该数不是素数。"<<endl;
jud++;
break;
}
if(jud==0)
cout<<"该数是素数"<<endl;
}
4
#include<iostream>
using namespace std;
int fun(int num)
{
int result=0;
while(num)
{
result+=num%10;
num/=10;
result*=10;
}
result/=10;
return result;
}
int main()
{
int num,result;
cout<<"请输入一个整数:"<<endl;
cin>>num;
result=fun(num);
cout<<"颠倒后结果为:"<<result<<endl;
return 0;
}
5
#include <iostream>
using namespace std;
void fun(int num)
{
while(num<0||num>100)
{
cout<<"输入错误,请重新输入:"<<endl;
cin>>num;
}
if(num<60)
cout <<"该学生不及格"<<endl;
else if(num<70)
cout <<"该学生成绩等级为D"<<endl;
else if(num<80)
cout <<"该学生成绩等级为C"<<endl;
else if(num<90)
cout <<"该学生成绩等级为B"<<endl;
else
cout <<"该学生成绩等级为A"<<endl;
}
int main()
{
int num;
cout<<"请输入分数: "<<endl;
cin>>num;
fun(num);
return 0;
}
6
#include <iostream>
void fun(int *arr);
using namespace std;
int main()
{
int arr[10],i;
cout<<"请分别输入10个学生的分数: "<<endl;
for(i=0;i<10;i++)
{
cout<<"第 "<<i+1<<" 个:"<<endl;
cin>>arr[i];
while(arr[i]<0||arr[i]>100)
{
cout <<"输入错误,请重新出入:"<<endl;
cin>>arr[i];
}
}
fun(arr);
return 0;
}
void fun(int *arr)
{
int ave=0,i;
for(i=0;i<10;i++)
{
ave+=arr[i];
}
ave/=10;
cout<<"十个学生的平均分是:"<<ave<<endl;
}
7
#include <iostream>
int divisor(int num_1,int num_2);
int multiple(int num_1,int num_2);
using namespace std;
int main()
{
int num_1,num_2,fac;
int C_divisor,C_multiple;
cout<<"请输入第一个整数: "<<endl;
cin>>num_1;
cout<<"请输入第二个整数数:"<<endl;
cin>>num_2;
if(num_1<num_2)
{
fac=num_1;
num_1=num_2;
num_2=fac;
}
C_divisor=divisor(num_1,num_2);
C_multiple=multiple(num_1,num_2);
cout <<"两整数的最大公约数是: "<<C_divisor<<" ,最小公倍数是:"<<C_multiple<<endl;
}
int divisor(int num_1,int num_2)
{
int C_d=0;
while(num_1%num_2!=0)
{
C_d=num_1%num_2;
num_1=num_2;
num_2=C_d;
}
return C_d;
}
int multiple(int num_1,int num_2)
{
int C_m;
if(num_1%num_2==0)
C_m=num_1;
else
C_m=(num_1*num_2)/divisor(num_1,num_2);
return C_m;
}
8
#include <iostream>
void fun_1();
void fun_2();
void fun_3();
using namespace std;
int main()
{
cout <<"全部输出:"<<endl;
fun_1();
cout <<endl<<endl;
cout <<"对角线以下输出:"<<endl;
fun_2();
cout <<endl<<endl;
cout <<"对角线以上输出:"<<endl;
fun_3();
cout <<endl;
return 0;
}
void fun_1()
{
int fac_1,fac_2,pro;
for(fac_2=1;fac_2<=9;fac_2++)
{
for(fac_1=1;fac_1<=9;fac_1++)
{
pro=(fac_1*fac_2);
cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" ";
if (pro<10)
cout<<" ";
}
cout << endl;
}
}
void fun_2()
{
int fac_1,fac_2,pro;
for(fac_2=1;fac_2<=9;fac_2++)
{
for(fac_1=1;fac_1<=fac_2;fac_1++)
{
pro=(fac_1*fac_2);
cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" ";
if (pro<10)
cout<<" ";
}
cout << endl;
}
}
void fun_3()
{
int fac_1,fac_2,pro;
for(fac_2=1;fac_2<=9;fac_2++)
{
for(fac_1=1;;fac_1++)
{
if(fac_1<fac_2)
cout<<" ";
else
{
pro=fac_1*fac_2;
cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" ";
if (pro<10)
cout <<" ";
}
if(fac_1==9)
break;
}
cout <<endl;
}
}
矩阵
#include <iostream>
using namespace std;
void cal(int arr1[4][5],int arr2[5][3],int arr3[4][3]);
int main()
{
int arr1[4][5],arr2[5][3];
int arr3[4][3]={0};
int i,j;
cout<<"请输入4*5矩阵的数:"<<endl<<endl<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
cout<<"请输入第#"<<i+1<<"行"<<"第#"<<j+1<<"个数:"<<endl;
cin>>arr1[i][j];
}
}
cout<<"请输入5*3矩阵的数:"<<endl<<endl<<endl;
for(i=0;i<5;i++)
{
for(j=0;j<3;j++)
{
cout<<"请输入第#"<<i+1<<"行"<<"第#"<<j+1<<"个数:"<<endl;
cin>>arr2[i][j];
}
}
cal(arr1,arr2,arr3);
cout<<"结果是:"<<endl;
for(i=0;i<4;i++){
for(j=0;j<3;j++)
cout <<arr3[i][j]<<" ";
cout <<endl;
}
return 0;
}
void cal(int arr1[4][5],int arr2[5][3],int arr3[4][3])
{
int i,j,k;
cout<<"4*5的矩阵为:"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
cout<<arr1[i][j]<<" ";
cout<<endl;
}
cout<<"5*3的矩阵为:"<<endl;
for(i=0;i<5;i++)
{
for(j=0;j<3;j++)
cout<<arr2[i][j]<<" ";
cout<<endl;
}
for(i=0;i<4;i++)
for(k=0;k<3;k++)
for(j=0;j<3;j++)
{
arr3[i][k]+=arr1[i][j]*arr2[j][k];
}
}
求s[n]=1!+2!+3!+...+n!
#include <iostream>
int count(int n);
int fac(int n);
using namespace std;
int main()
{
int n,add;
cout <<"请输入整数n: "<<endl;
cin >>n;
add=count(n);
cout <<"S=1!+2!+……n!= "<<add<<endl;
return 0;
}
int fac(int n)
{
int i,add=n;
for(i=n-1;i>0;i--)
add*=i;
return add;
}
int count(int n)
{
int i,add=0;
for(i=n;i>0;i--)
add+=fac(i);
return add;
}
十六转十
#include <iostream>
void fun(int n);
using namespace std;
int main()
{
int n;
cout << "请输入一个16进制的数: ";
cin >>hex>>n;
fun(n);
return 0;
}
void fun(int n)
{
cout <<"该数的十进制形式为:"<<n<<endl;
}