#include<iostream>
using namespace std;
long int power(int base,int exponent)
{
long power=1;
for(exponent;exponent;exponent--)
power *= base;
return power;
}
int main()
{
int m,n;
long int y=0;
cout<<"输入两个数:m,n ";
cin>>m>>n;
y=power(m,n); //定义power函数的两个实参m,n
cout<<m<<"的"<<n<<"次幂为:"<<y<<endl;
return 0;
}
#include<iostream>
using namespace std;
int prime(int);
int main()
{
int num;
cout<<"输入一个正整数:";
cin>>num;
if(num<=1)
{
cout<<"输出有误!"<<endl;
return 0;
}
if(prime(num))
cout<<num<<"是素数"<<endl;
else
cout<<num<<"不是素数"<<endl;
return 0;
}
int prime(int k)
{
int flag=1, i;
for(i=2;i<k/2&&flag==1;i++)
if(k%2==0)
flag=0;
return flag;
}
#include<iostream>
using namespace std;
int reverse(int n);
int main()
{
int num, result;
cout<<"请输入一个十进制正整数:";
cin>>num;
result=reverse(num);
cout<<num<<"的逆序数为"<<result<<endl;
return 0;
}
int reverse(int n)
{
int i,k=n;
for(i=1; ;) //求该正整数的最高权位
{
k/=10;
if(k==0) break;
i*=10;
}
if(i==1)
return n;
int j=0,temp=i,a[10]; //假设该数最大是十位数
for(j=0;temp>=1;j++) //把该数的个个位数的数用数组表示出来,且a[0]为最高权位的数
{
a[j]=n/temp;
n=n-temp*a[j];
temp/=10;
}
for(j=j-1;j>=0;j--)
{
n+=a[j]*i; //最低权位的数乘以最高权位实现逆转
i/=10;
}
return n;
}
#include<iostream>
using namespace std;
int prime(int n)
{
char deng;
if(n>90&&n<=100)
deng='A';
else if(n>80)
deng='B';
else if(n>60)
deng='C';
else
deng='D';
return deng;
}
int main()
{
char result;
int num;
cout<<"输入一个0~100之间的整数:";
cin>>num;
result=prime(num);
cout<<num<<"对应的等级代号字符为:"<<result<<endl;
return 0;
}
#include<iostream>
using namespace std;
float aver();
int main()
{
float result;
result=aver();
cout<<"该十位学生的平均成绩为:"<<result<<endl;
return 0;
}
float aver()
{
float a[10] ;
float sum=0,aver;
cout<<"请输入十个学生成绩:"<<endl;
for(int i=0;i<10;i++)
{
cin>>a[i];
sum+=a[i];
}
aver=sum/10;
return aver;
}
#include<iostream>
using namespace std;
void fact1();
void fact2();
void fact3();
int main()
{
fact1();
cout<<endl;
fact2();
cout<<endl;
fact3();
cout<<endl;
return 0;
}
void fact1()
{
int i=1,j=1,f1=1;
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
f1=i*j;
cout<<i<<"*"<<j<<"="<<f1<<'\t';
}
cout<<endl;
}
}
void fact2()
{
int i,j,f2=1;
for(j=1;j<=9;j++)
{
for(i=1;i<=j;i++)
{
f2=i*j;
cout<<i<<"*"<<j<<"="<<f2<<'\t';
}
cout<<endl;
}
}
void fact3()
{
int i,j,f3=1;
for(j=1;j<=9;j++)
{
for(i=j;i<=9;i++)
{
f3=i*j;
cout<<i<<"*"<<j<<"="<<f3<<'\t';
}
cout<<endl;
}
}
值调用
#include<iostream>
using namespace std;
int max(int,int,int);
int min(int,int,int);
float aver(int,int,int);
int main()
{
int n1,n2,n3;
int result1,result2;
float result3;
cout<<"输入三个整数:";
cin>>n1>>n2>>n3;
result1=max(n1,n2,n3);
result2=min(n1,n2,n3);
result3=aver(n1,n2,n3);
cout<<"这三个数的最大值为:"<<result1<<endl;
cout<<"这三个数的最小值为:"<<result2<<endl;
cout<<"这三个数的平均值为:"<<result3<<endl;
return 0;
}
int max(int a,int b,int c)
{
int max;
max=a;
if(b>max)
max=b;
if(c>max)
max=c;
return max;
}
int min(int a,int b,int c)
{
int min;
min=a;
if(b<min)
min=b;
if(c<min)
min=c;
return min;
}
float aver(int a,int b, int c)
{
float aver=0.0;
aver=(a+b+c)/3.0;
}
引用调用
#include<iostream>
using namespace std;
int max(int&,int&,int&);
int min(int&,int&,int&);
float aver(int&,int&,int&);
int main()
{
int n1,n2,n3;
int result1,result2;
float result3;
cout<<"输入三个整数:";
cin>>n1>>n2>>n3;
result1=max(n1,n2,n3);
result2=min(n1,n2,n3);
result3=aver(n1,n2,n3);
cout<<"这三个数的最大值为:"<<result1<<endl;
cout<<"这三个数的最小值为:"<<result2<<endl;
cout<<"这三个数的平均值为:"<<result3<<endl;
return 0;
}
int max(int& a,int& b,int& c)
{
int max;
max=a;
if(b>max)
max=b;
if(c>max)
max=c;
return max;
}
int min(int& a,int& b,int& c)
{
int min;
min=a;
if(b<min)
min=b;
if(c<min)
min=c;
return min;
}
float aver(int& a,int& b, int& c)
{
float aver=0.0;
aver=(a+b+c)/3.0;
return aver;
}
全局变量·
#include<iostream>
using namespace std;
int n1,n2,n3;
int max();
int min();
float aver();
int main()
{
int result1,result2;
float result3;
cout<<"输入三个整数:";
cin>>n1>>n2>>n3;
result1=max();
result2=min();
result3=aver();
cout<<"这三个数的最大值为:"<<result1<<endl;
cout<<"这三个数的最小值为:"<<result2<<endl;
cout<<"这三个数的平均值为:"<<result3<<endl;
return 0;
}
int max()
{
int max;
max=n1;
if(n2>max)
max=n2;
if(n3>max)
max=n3;
return max;
}
int min()
{
int min;
min=n1;
if(n2<min)
min=n2;
if(n3<min)
min=n3;
return min;
}
float aver()
{
float aver=0.0;
aver=(n1+n2+n3)/3.0;
return aver;
}
老师,下题求矩阵的乘积的算法,不知道错哪了,结果很奇怪。
#include<iostream>
#include<iomanip>
using namespace std;
int fun1();
int fun2();
int main()
{
int i,j;
int m[4][5],n[5][3];
int p[4][3];
m[4][5]=fun1();
n[5][3]=fun2();
for(i=0;i<=3;i++)
for(j=0;j<=4;j++)
{
p[i][j]+=m[i][j]*n[j][i];
p[i][j+1]+=m[i][j]*n[j][i+1];
p[i][j+2]+=m[i][j]*n[j][i+2];
}
cout<<"a[4][5]*b[5][3]="<<endl;
for(i=0;i<=3;i++)
for(j=0;j<=2;j++)
{ cout<<'\t'<<p[i][j];
if(j==2)
cout<<endl;}
return 0;
}
int fun1()
{
int i,j,a[4][5];
cout<<"a[4][5]的矩阵为:"<<endl;
for(i=0;i<=3;i++)
for(j=0;j<=4;j++)
{ a[i][j]=i+j;
cout<<setw(2)<<a[i][j];
if(j==4)
cout<<endl;}
return a[i][j];
}
int fun2()
{
int i,j,b[5][3];
cout<<"b[5][3]矩阵为:"<<endl;
for(i=0;i<=4;i++)
for(j=0;j<=2;j++)
{
b[i][j]=2*i;
cout<<setw(2)<<b[i][j];
if(j==2)
cout<<endl;
}
return b[i][j];
}
#include<iostream>
using namespace std;
int fact(int k)
{
int fact=1; //求n的阶层
for(k;k>=1;k--)
fact*=k;
return fact;
}
int sum(int n)
{
int s=0; //求1!+2!+3!+...+n!
for(n;n>=1;n--)
s +=fact(n);
return s;
}
int main()
{
int n ,result;
cout<<"输入一个正整数n: "<<endl;
cin>>n;
result=sum(n);
cout<<"1!+2!+3!+...+n!= "<<result<<endl;
return 0;
}
#include<iostream>
#include<cmath>
using namespace std;
int prime(int);
int main()
{
int n,result;
cout<<"输入一个十六进制的整数:"<<endl;
cin>>n;
result=prime(n);
cout<<"十六进制数"<<n<<"转化为十进制数为"<<result<<endl;
return 0;
}
int prime(int n)
{
int i=1,m=n;
for(i=1;m!=0;i++) //求出该十六进制数的最高权位
m/=10;
int j,p,s=0;
for(j=0;j<i;j++)
{
p=n%10; //求出该十六进制数的各个位上的数字
n/=10;
s +=pow(16,j)*p; //十六进制转化为十进制数
}
return s;
}