习题2
#include<iostream>
using namespace std;
long intPower(int base,int exponent);
int main()
{
long n;
int base,exponent;
cout<<"输入基数和幂(用空格隔开):";
cin>>base>>exponent;
n=intPower(base,exponent);
cout<<base<<"的"<<exponent<<"次幂是"<<n<<endl;
}
long intPower(int base,int exponent)
{long result=1;
int i;
if(exponent!=0)
for(i=1;i<=exponent;i++)
result*=base;
return result;
}
习题3
#include<iostream>
using namespace std;
int prime(int n)
{
int flag=1,i;
for(i=2;i<n/2&&flag==1;i++)
if(n%i==0)
flag=0;
return flag;
}
int main()
{
int num;
cout<<"输入一个大于1的正整数:";
cin>>num;
if(num<=1)
{
cout<<"输入有误"<<endl;
return 0;
}
if(prime(num))
cout<<num<<"是素数"<<endl;
else
cout<<num<<"不是素数"<<endl;
return 0;
}
习题5
#include<iostream>
using namespace std;
char grade(int n)
{
char ch;
if(n>=90&&n<=100)ch='A';
else if(n>=80)ch='B';
else if(n>=70)ch='C';
else if(n>=60)ch-'D';
else ch='E';
return ch;
}
int main()
{
int sore;
cout<<"请输入成绩:";
cin>>sore;
char ch=grade(sore);
cout<<sore<<"对应的等级为:"<<ch<<endl;
return 0;
}
习题6
#include<iostream>
using namespace std;
float average()
{
float a[10],sum=0,average;
cout<<"输入10个学生成绩:"<<endl;
for(int i=0;i<10;i++)
{
cin>>a[i];
sum+=a[i];
}
average=sum/10;
return average;
}
int main()
{
float aver=average();
cout<<"学生的平均成绩是:"<<averendl;
return 0;
}
习题7
#include<iostream>
using namespace std;
int gys(int a,int b) //最大公约数
{
int max;
for(int i=1;i<=a;i++)
for(int j=1;j<=b;j++)
if(a%i==0&&b%j==0&&i==j)
max=i;
return max;
}
int gbs(int a,int b) //最小公倍数
{
int A=a,B=b;
while(a!=b)
{
if(a>b)
{
b+=B;
continue;
}
else
a+=A;
}
return a;
}
int main()
{
int a,b;
int maxgys,mingbs;
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
maxgys=gys(a,b);
mingbs=gbs(a,b);
cout<<"最大公约="<<maxgys<<endl<<"最小公倍="<<mingbs<<endl;
return 0;
}
习题8
#include<iostream>
using namespace std;
void biao1()
{
cout<<"九九乘法婊1:"<<endl;
for(int i=1;i<10;i++)
{
for(int j=1;j<10;j++)
cout<<j<<"*"<<i<<"="<<j*i<<'\t';
cout<<endl;
}
}
void biao2()
{
cout<<"九九乘法婊2:"<<endl;
for(int i=1;i<10;i++)
{
for(int j=1;j<=i;j++)
cout<<j<<"*"<<i<<"="<<i*j<<'\t';
cout<<endl;
}
}
void biao3()
{
cout<<"九九乘法婊3:"<<endl;
for(int i=1;i<=10;i++)
{
for(int j=1;j<10;j++)
if(j<i)
cout<<'\t';
else
cout<<j<<"*"<<i<<"="<<i*j<<'\t';
cout<<endl;
}
}
int main()
{
biao1();
cout<<endl;
biao2();
cout<<endl;
biao3();
cout<<endl;
return 0;
}
编程实现输入两个4X5矩阵和5X3矩阵,定义函数并在主函数中调用计算它们的积。
#include<iostream>
#include<iomanip>
using namespace std;
int num(int a,int b)
{
int product;
product=a*b;
return product;
}
int main()
{
int a[4][5],b[5][3],c[4][3];
int i,j,k,sun=0;
int x,y;
cout<<"输入4行5列的二维数组的元素值"<<endl;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"输入5行3列的二维数组的元素值"<<endl;
for(j=0;j<5;j++)
for(k=0;k<3;k++)
{
cout<<"b["<<j<<"]["<<k<<"]=";
cin>>b[j][k];
}
for(i=0;i<4;i++)
for(j=0;j<5;j++)
for(k=0;k<3;k++)
{
x=a[i][j];
y=b[j][k];
c[i][k]=num(x,y);
}
cout<<"两矩阵积,得到的矩阵c[4][3]为"<<endl;
for(i=0;i<4;i++)
{
cout<<endl;
for(k=0;k<3;k++)
cout<<setw(9)<<c[i][k];
}
cout<<endl;
return 0;
}
编程计算S[n]=1!+21+3!+...n!。要求定义两个函数,一个计算n!,一个计算s[n],在后一个函数中调用前一个函数。然后在主程序中输入数n的值,然后调用定义函数输出结果。
#include<iostream>
using namespace std;
int Nnn(int n)
{
int j=1;
for(int i=1;i<=n;i++)
j=j*i;
return j;
}
int Sn(int n)
{
int s=0;
for(int i=1;i<=n;i++)
s=s+Nnn(i);
return s;
}
int main()
{
int n,s;
cout<<"输入n值:"<<endl;
cin>>n;
s=Sn(n);
cout<<"s的输出为"<<s<<endl;
return 0;
}
编写一个函数,输入一个十六进制数,输出相应的十进制数
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a;
cout<<"输入一个16进制数:";
cin>>hex>>a;
cout<<"输出一个10进制数:";
cout<<dec<<a<<endl;
return 0;
}