2.编程实现课本每一个编程习题。
3. 编程实现输入两个4X5矩阵和5X3矩阵,定义函数并在主函数中调用计算它们的积。
4.编程计算S[n]=1!+21+3!+...n!。要求定义两个函数,一个计算n!,一个计算s[n],在后一个函数中调用前一个函数。然后在主程序中输入数n的值,然后调用定义函数输出结果。
5.编写一个函数,输入一个十六进制数,输出相应的十进制数。
作业2
//习题二
#include<iostream>
using namespace std;
long intPower(int base,int exponent);
int main()
{
int a,b;
long int c;
cout<<"请输入一个整数以及幂的次数"<<endl;
cin>>a>>b;
c= intPower(a,b);
cout<<"所求结果为:"<<endl;
cout<<a<<"的"<<b<<"次幂为:"<<c<<endl;
return 0;
}
long intPower(int base,int exponent)
{
long int d=base;
for(int i=1;i<exponent;i++)
d *= base;
return d;
}
习题3
/*****************************
** xiti3 **
*****************************/
#include<iostream>
using namespace std;
int a;
void power(int n)
{
int i;
for(i =2;i<n;++i)
if(n%i==0)
break;
if(i ==n)
cout<<a<<"是素数"<<endl;
else
cout<<a<<"不是素数"<<endl;
}
int main()
{
char b;
while(1)
{
cout<<"请输入一个正整数:";
cin>>a;
power(a);
cout<<"若继续请输入Y,否则输入N"<<endl;
cin>>b;
if(b=='y'||b=='Y')
{
continue;
cout<<endl;
cout<<endl;
}
else
break;
}
return 0;
}
习题4
/*****************************
** 习题4 **
*****************************/
#include<iostream>
#include<math.h>
using namespace std;
long power(int x)
{
int i, t, n, k;
i = 0, t = x, n = 0;
while(t>0)
{
t = t/10;
n++;
}
k = pow(10,n-1);
while(x>0)
{
t = x%10;
x = x/10;
i += t*k;
k = k/10;
}
return i;
}
int main()
{
int a,i;
char b;
while(1)
{
cout<<"请输入一个正整数"<<endl;
cin>>a;
i=power(a);
cout<<a<<"的逆转数为:"<<i<<endl;
cout<<"若继续请输入Y,否则输入N"<<endl;
cin>>b;
if(b=='y'||b=='Y')
{
continue;
cout<<endl;
cout<<endl;
}
else
break;
}
return 0;
}
习题5
/******习题5******/
#include <iostream>
using namespace std;
void degree(int x);
int main()
{
int a;
char b;
while(1)
{
cout<<"请输入分数(0~99):";
cin>>a;
degree(a);
cout<<"若继续输入请按Y,若退出请按N ";
cin>>b;
if(b == 'Y'||b == 'y')
{
cout<<endl;
continue;
}
else if(b == 'N'||b == 'n')
break;
}
return 0;
}
void degree(int x)
{
switch(x/10)
{
case 6:
{
cout<<"该分数对应的等级为D"<<endl<<endl;
break;
}
case 7:
{
cout<<"该分数对应的等级为C"<<endl<<endl;
break;
}
case 8:
{
cout<<"该分数对应的等级为B"<<endl<<endl;
break;
}
case 9:
{
cout<<"该分数对应的等级为A"<<endl<<endl;
break;
}
default:
cout<<"该分数对应的等级为E"<<endl<<endl;
}
}
习题6
/******习题6******/
#include <iostream>
using namespace std;
float ave(int x[10]);
int main()
{
int a[10], i, j;
cout<<"请输入10个学生的成绩"<<endl;
for(i = 0;i<10;i++)
{
cout<<"a["<<i<<"] = ";
cin>>a[i];
}
j = ave(a);
cout<<"这10个学生的平均成绩为:"<<j<<endl;
return 0;
}
float ave(int x[10])
{
int i;
float ave = 0;
for(i = 0;i<10;i++)
{
ave += x[i];
}
ave = ave/10;
return ave;
}
习题7
//习题7
#include <iostream>
using namespace std;
int GCD(int a,int b);
int LCM(int a,int b);
int main()
{
int num1,num2,gcd,lcm;
char j;
cout<<"求两个数的最大公约数及最小公倍数"<<endl<<endl;
while(1)
{
cout<<"请输入第一个数:";
cin>>num1;
cout<<"请输入第二个数:";
cin>>num2;
gcd=GCD(num1,num2);
lcm=LCM(num1,num2);
cout<<"最大公约数为:"<<gcd<<endl;
cout<<"最小公倍数为:"<<lcm<<endl<<endl;
cout<<"若继续输入请按Y,若退出请按N。";
cin>>j;
if(j == 'Y'||j == 'y')
{
cout<<endl;
continue;
}
else if(j == 'N'||j == 'n')
break;
}
return 0;
}
int GCD(int a,int b)
{
if ( a % b == 0)
return b;
else
return GCD ( b,a % b) ;
}
int LCM(int a,int b)
{
int lcm;
lcm=a*b/GCD(a,b);
return lcm;
}
习题9
/*****习题9****/
#include<iostream>
using namespace std;
int max(int,int,int);
int min(int,int,int);
float average(int,int,int);
int main()
{
int a,b,c;
cout<<"请输入三个整数 ";
cin>>a>>b>>c;
cout<<a<<"."<<b<<"."<<c<<"三个数的最大值为 "<<max(a,b,c)<<endl;
cout<<a<<"."<<b<<"."<<c<<"三个数的最小值为 "<<min(a,b,c)<<endl;
cout<<a<<"."<<b<<"."<<c<<"三个数的平均值为 "<<average(a,b,c)<<endl;
return 0;
}
int max(int a ,int b,int c)
{
int max=a;
if(b>a&&b>c)
max=b;
else if(c>a&&c>b)
max=c;
return max;
}
int min(int a ,int b,int c)
{
int min=a;
if(b<a&&b<c)
min=b;
else if(c<a&&c<b)
min=c;
return min;
}
float average(int a ,int b,int c)
{
float aver=(a+b+c)/3.0;
return aver;
}