第五章 函数

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

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

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

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

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

2.2

#include<iostream>
using namespace std;
long inPower(int base,int exponent);
int main()
{
	int a,b;
	cout<<"请输入a和a的b次幂:"<<endl;
	cin>>a;
	cin>>b;
	cout<<"其结果为:"<<inPower(a,b)<<endl;
	return 0;
}
long inPower(int base,int exponent)
{
	int c=1,i;
	for(i=1;i<=exponent;i++)
		c=c*base;
	return c;
}

2.3

#include<iostream>
using namespace std;
int y(int x);
int main()
{
	int a;
	cout<<"请输入一个正整数:"<<endl;
	cin>>a;
	if(y(a))
		cout<<"该数是素数"<<endl;
	else
		cout<<"该数不是素数"<<endl;
	return 0;
}
int y(int x)
{
	if(x>2)
	{
		int i;
		for(i=2;i<x;i++)
			if(x%i==0)
				x=0;
	}
	else
		x=1;
	return x;
}

2.4


2.5

#include<iostream>
using namespace std;
int y(int b);
int main()
{
	int a;
	cout<<"请输入分数:"<<endl;
	cin>>a;
	char c=y(a);
	cout<<"等级为:"<<c<<endl;
	return 0;
}
int y(int b)
{
	char c;
	if(b<=100&&b>85) c='A';
	else if(b<=85&&b>=70) c='B';
	else if(b<70&&b>=60) c='C';
	else c='D';
	return c;
}

2.6

#include<iostream>
using namespace std;
float y();
int main()
{
	int b;
	cout<<"请输入10个学生的成绩:"<<endl;
	b=y();
	cout<<"平均成绩是:"<<b<<endl;
	return 0;
}
float y()
{
	int a[10],d=0;
	for(int i=0;i<10;i++)
	{
		 cin>>a[i];
	     d+=a[i];
	}
	int c=d/10;
	return c;
}

2.7

#include<iostream>
using namespace std;
int yue(int x,int y);
int bei(int p,int q);
int main()
{
	int a,b;
	cout<<"请输入两个整数:"<<endl;
	cin>>a>>b;
	int c=yue(a,b);
	int d=bei(a,b);
	cout<<"它们的最大公约数为:"<<c<<endl;
	cout<<"它们的最小公倍数是:"<<d<<endl;
	return 0;
}
int yue(int x,int y)
{
	int z;
	for(int i=0;i<y;i++)
	{
		y-=i;
		z=y;
		if(x%y==0) break;
	}
	return z;
}
int bei(int p,int q)
{
	int o;
	for(int i=0;;i++)
	{
		q+=i;
		o=q;
		if(q%p==0) break;
	}
	return o;
}

2.8

#include<iostream>
#include<math.h>
using namespace std;
void a();
void b();
void c();
int main()
{
	cout<<"将9行9列乘法表全部输出:"<<endl;
	a();
	cout<<"输出乘法表中主对角线以上的元素:"<<endl;
	b();
	cout<<"输出乘法表中主对角线以下的元素:"<<endl;
	c();
	return 0;
}
void a()
{
	int i,j;
	for(i=1;i<=9;i++)
	{
		for(j=1;j<=9;j++)
			cout<<j<<"*"<<i<<"="<<i*j<<'\t';
		cout<<endl;
	}
}
void b()
{
	int i,j;
	for(j=1;j<=9;j++)
		for(i=1;i<=j;i++)
		{
	        int a;
	        a=i*j;
	        cout<<i<<"*"<<j<<"="<<a<<"\t";
		    if(i==j)
			   cout<<"\n";
		}
}
void c()
{
	int i,j;
	for(j=1;j<=9;j++)
	{
		for(i=1;i<=9;i++)
		{
			if(i<j) 
				cout<<'\t';
			else
				cout<<i<<"*"<<j<<"="<<i*j<<'\t';
		}
		cout<<endl;
	}
}

3.

4.

#include<iostream>
using namespace std;
int jie(int a);
int he(int b);
int main()
{
	int x,y;
	cout<<"请输入一个数:"<<endl;
	cin>>x;
	y=he(x);
	cout<<"S["<<x<<"]="<<y<<endl;
	return 0;
}

int he(int b)
{
	int s=0;
	for(int i=1;i<=b;i++)
		s+=jie(i);
	return s;
}

int jie(int a)
{
	int sum=1;
	for(int i=1;i<=a;i++)
		sum*=i;
	return sum;
}

5.

#include<iostream>
#include<iomanip>
using namespace std;
void zh();
int main()
{
	zh();
	return 0;
}
void zh()
{
	int a;
	cout<<"请输入一个十六进制书:"<<endl;
	cin>>hex>>a;
	cout<<"转化为十进制为:"<<endl;
	cout<<dec<<a<<endl;
}

这是参考之后才知道可以这么简单的




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值