第五章作业 (一)课后习题部分

2:编写一个函数,求base的exponent次幂。

#include<iostream>
using namespace std;

double count(int base,int exp);
int main()
{
	int x,y;
	double z;
	cout<<"请输入一个底数:"<<endl;
	cin>>x;
	cout<<"请输入这个底数的指数,必须为整数:"<<endl;
	cin>>y;
	z=count(x,y);
    cout<<x<<"的"<<y<<"次方为"<<z<<endl;
	return 0;
}
double count(int base,int exp)
{
	int i;
	double z;
	z=1;
	if(exp>0)
	{
	for(i=0;i<exp;i++)
		z=z*base;
	}
	if(exp=0)
		z=1;
	if(exp<0)
	{
        double t=1.0;
		for(i=0;i>exp;i--)
			t=t*base;
    z=1/t;
	}
	return z;
}
这题不知道为什么当输入的指数为负整数时,结果就会显示为1!



3.编写一个判断一个正数是否为素数的函数。

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

结果如下


4:编写一个函数,返回与所给的十进制正整数数字顺序相反的整数。

#include<iostream>
#include<cstring>
using namespace std;

void display()
{
char str[100];
cout<<"请输入一行数字:";
cin.get(str,100);
cout<<"该行数字"<<str<<"的反向为:";
for(int i=strlen(str)-1;i>=0;i--)
cout<<str[i];
cout<<endl;
return;
}
void main()
{
display();
}

结果为



5:编写一个函数,按照所给的百分制分数,返回与该分数对应的等级代号字符,并加以测试。

/********************************************
*** 功能:分辨一个学生分数的等级*************
**********   A: 85-100  *********************
**********   B: 70-85   *********************
**********   C: 60-70   *********************
**********   D: 60分以下*********************
********************************************/
#include<iostream>
using namespace std;

void fun()
{
int x;
cout<<"请输入一个学生的分数:";
cin>>x;
if(x>=85&&x<=100)
cout<<"A"<<endl;
if(x>=70&&x<85)
cout<<"B"<<endl;
if(x>=60&&x<70)
cout<<"C"<<endl;
if(x>=0&&x<60)
cout<<"D"<<endl;
else
cout<<"请确认你输入的分数是0到100"<<endl;
}
void main()
{
	fun();
}


这里有一个问题,为什么我输入的分数大于60的时候会有这个结果,感觉程序没错。



6:编写一个函数,内放10个学生成绩,求平均成绩。

#include<iostream>
using namespace std;

void display()
{
int i,n,math[100];
float aver=0.0;
cout<<"请输入学生人数:";
cin>>n;
cout<<"请输入成绩:";
for(i=0;i<n;i++)
{
	cin>>math[i];
	aver+=math[i];
}
aver/=n;
cout<<"平均成绩"<<aver<<endl;
}
void main()
{
display();
}

结果:





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值