2021-07-14

CINTA课前小练

hhh写博客的想法早在半年前就有了,但是也仅仅是停留在想法上而已,
没想到最后我的第一次是为了完成老师布置的作业hhh
虽然老师要求的好像是用C语言写,但用C++也不是不可以吧/(ㄒoㄒ)/~~

写一个插入排序的函数,即输入一个数组,完成排序

#include<iostream>
using namespace std;
int main() 
{
	void exchange(int &,int &);	//交换函数 
	int N;
	cout<<"目标数组的长度:"; cin>>N;
	int*p=new int[N];		//建立动态数组 
	for(int i=0;i<N;i++) 	//输入目标数组 
		cin>>p[i];
	//排序
	for(int i=1;i<N;i++)
		for(int j=i;j>0;j--)
			{
				if(p[j]<p[j-1])exchange(p[j],p[j-1]);
			 } 
	for(int z=0;z<N;z++)
		cout<<p[z]<<" ";
	delete []p;				//释放空间 
	return 0;
}

void exchange(int &a,int &b)
{
	int Turn=0;
	Turn=a;
	a=b;
	b=Turn;
}

👉从小到大排列

完成一个函数,输入值为整数,输出该值的二进制

看到题目的第一想法确实是想用C语言printf函数格式化输出整数的二进制,但是后来尝试后才知道没有__%b__这种形式,printf也不支持输出二进制格式。

#include<iostream>
#include<math.h>
using namespace std;
void In2Addr(int a)
{
	int a2=a;
	long b=0;
	for(int i=0;;i++)
	{
		if(a2%2==1) b+=pow(10,i);
		a2=a2/2;
		if(a2==1)
		{
			b+=pow(10,i+1);
			break;
		}
	}
	cout<<"二进制:"<<b<<endl; 
}
int main()
{
	int a;
	cout<<"请输入一个整数:";cin>>a;
	In2Addr(a);
	return 0;
}

完成一个判断整数是否素数的函数,即,输入一个整数,判断其是否素数

#include<iostream>
using namespace std;
int main()
{
	void PrimeCheck(int);
	int N;
	short YorN=0;	//yes:1/no:0
	do
	{
		N=0;
		cout<<"请输入一个整数:";cin>>N;
		PrimeCheck(N);
		cout<<"是否继续(回复1/0):";cin>>YorN;
	}while(YorN==1);
	return 0;	
}
void PrimeCheck(int a)
{
	short PorNot=0;	//0:not a prime
	for(int i=a-1;i>1;i--)
	{
		if(a%i==0) 
		{
			cout<<a<<"不是素数!\n";
			PorNot=1;
			break;
		}
				
	}
	if(PorNot==0) cout<<a<<"是素数\n";	
}

编辑一个数学公式:a的立方 + b的立方 = c的立方

这道题目的意思不是很懂,暂且解读为判断等式是否成立&知道其中两个求另外一个。

#include<iostream>
#include<cmath>
#include<string>
using namespace std;

int main()
{
	double a,b,c;
	string ans;
	cout<<"input a:";cin>>a;
	cout<<"input b:";cin>>b;
	cout<<"inout c:";cin>>c;
	cout<<"a^3+b^3=c^3?\n";
	ans=(pow(a,3)+pow(b,3)==pow(c,3)?"yes":"no");
	cout<<ans;
	if(ans=="no")
		cout<<"\nThe true 'c' is:"<<pow((pow(a,3)+pow(b,3)),1.0/3)<<endl;
	return 0;
 }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值