第五章作业

  • 实验作业

1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;

2.编程实现课本每一个编程习题。

3. 编程实现输入两个4X5矩阵和5X3矩阵,定义函数并在主函数中调用计算它们的积。

4.编程计算S[n]=1!+21+3!+...n!。要求定义两个函数,一个计算n!,一个计算s[n],在后一个函数中调用前一个函数。然后在主程序中输入数n的值,然后调用定义函数输出结果。

5.编写一个函数,输入一个十六进制数,输出相应的十进制数。


课本习题2

#include<iostream>  
#include<iomanip>
using namespace std;  
long intPower(int base,int cxpoment)
{
int i;
long tmp=1;
for(i=1;i<=cxpoment;i++)  
   tmp*=base;
return tmp;
}
int main()  
{  
int num,number;
long tmp;
cout<<"请输入一个数,以计算它的幂!!    ";
cin>>num;
cout<<"\n请输入一个数,作为幂!!\t\t";
cin>>number;
tmp=intPower(num,number);
cout<<"\n\n结果为: "<<num<<'^'<<number<<" = "<<tmp<<"\n\n";
    return 0;  
} 

课本习题3

#include <iostream>
#include <math.h>
using namespace std;
void fun(int n)
{
	int i,j;
	j = sqrt(n);
	for(i = 2; i <= j; i++)
		if(n % i == 0)//如果有整除的情况就退出for循环 
			break;
        if(i == j + 1) //这里是判断执行完for循环后,是否有整除的情况 
            cout<<n<<"为素数\n";//如果没有,则是素数 
		else 
			cout<<n<<"不是素数\n";
}
int main()
{
    int number;
	cout<<"请输入一个正整数:";
	cin>>number;
	fun(number);
		return 0;
}

课本习题4

#include<iostream>    
using namespace std;    
void fun(long num)  
{  
	long i,tmp;
	cout<<num<<" 的逆序数是 :";
	for(i=10;;)
	{	
		if(num==0)
			break;
		tmp=num%i;
		num/=10;
		cout<<tmp;
	}
	cout<<"\n\n";
}  
int main()    
{   
	int number;
	cout<<"请输入一个十进制正整数!!>>>>>>  ";
	cin>>number;
	fun(number);  
    return 0;    
}   

课本习题5

#include<iostream>  
using namespace std;  
char grade(int score)
{
	char ch;
	if (score>=90&&score<=100)
		ch='A';
	else if (score>=80)
		ch='B';
	else if (score>=70)
		ch='C';
	else if (score>=60)
		ch='D';
	else ch='E';
	return ch;
}
int main()  
{  
	int score;
	char ch;
	cout<<"请输入百分制成绩,范围为0 ~ 100 !!!\n\t";
	cin>>score;
	ch = grade(score);
	cout<<" 该成绩对应的等级为: "<<ch<<"\n\n";
    return 0;  
} 

课本习题6

#include<iostream>  
using namespace std;  
float average ()
{
	float score[11],aver=0,sum=0;
	int i;
	cout<<"  请输入10个学生的成绩:"<<"\n\n";
	for(i=1;i<10;i++)
	{	
		cout<<"  第"<<i<<"个学生的成绩 = ";
		cin>>score[i];
		sum+=score[i];
	}
	aver=sum/10;
	return aver;
}
int main()  
{  
	float aver;
	aver = average();
	cout<<" 这10个学生的平均成绩为: "<<aver<<"分"<<"\n\n";
    return 0;  
} 




习题3

#include<iostream> 
#include<iomanip>   
using namespace std;
int a[4][5],b[5][3],c[4][3]={0},i,j,k,tmp; 
/************************************************/
void shuzu1()
{
	cout<<"请输入矩阵a[4][5]的元素"<<"\n\n"; 
	for(i=0;i<4;i++)     
        for(j=0;j<5;j++) 
		{
			cout<<"a["<<i<<']'<<'['<<j<<"]=";
			cin>>a[i][j];    
		}
}
/************************************************/
void shuzu2()
{
	cout<<"请输入矩阵b[5][3]的元素"<<"\n\n";  
	for(i=0;i<5;i++)  
        for(j=0;j<3;j++)  
		{
			cout<<"a["<<i<<']'<<'['<<j<<"]=";
            cin>>b[i][j];    
		}
}
/************************************************/
void  count()
{
    for(i=0;i<4;i++)    
        for(j=0;j<3;j++)    
        {    
            for(k=0;k<5;k++)    
            {    
                tmp=a[i][k]*b[k][j];    
                c[i][j]=c[i][j]+tmp;    
            }    
        }    
		
}
/************************************************/
void display()
{
    cout<<"矩阵a[4][5]与b[5][3]的乘积为:"<<"\n\n";
    for(i=0;i<4;i++)    
	{    
		for(j=0;j<3;j++)   
			cout<<setw(5)<<c[i][j];      
		cout<<'\n';  
	}  
}
/************************************************/
int main()    
{    
    cout<<"计算矩阵a[4][5]与矩阵b[5][3]的积"<<endl;     
	shuzu1();
    shuzu2();
	count();
	display();
	return 0;    
}  

习题4

#include<iostream>  
using namespace std;  
double  num,i,j=1,temp=0;
/************************************************/  
double nn()
{
	j*=i;  
	   return j;
}
/************************************************/  
double add()
{
	for(i=1;i<=num;i++)
		temp+=nn();
	return temp;
}
/************************************************/  
void display()
{
    cout<<num<<"!="<<j<<'\n';  
    cout<<"累加之和为:"<<temp<<"\n"; 
}
/************************************************/  
int main()  
{  
	cout<<"请输入一个正整数计算其阶乘!!!\n\n";  
    cin>>num;  
    add();
	display();
    return 0;  
} 


习题5

#include<iostream>  
#include<iomanip>
using namespace std;  
void htod()
{
	int num;
	cout<<"请输入一个十六进制数!!!\n" 
	    <<"你输入的十六进制数为: ";
    cin>>hex>>num;
	cout<<dec<<"\n你输入的十六进制数装换为十进制数为:  "
     	<<num<<"   \n\n";
}
int main()  
{  
	htod();
    return 0;  
} 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值