CINTA学前作业一:课前准备
本作业可视为开学前的学习准备
一、写一个插入排序的函数,即输入一个数组,完成排序
在我看来,题目中的插入排序即选择排序,从小到大排序。
#include<iostream>
using namespace std;
int main()
{
void sort(int array[],int n);
int a[5];
cout<<"请输入5个数字:"<<endl;
for(int i=0;i<5;i++)
cin>>a[i];
cout<<endl;
sort(a,5);
cout<<"输出排好序后的数组:"<<endl;
for(int i=0;i<5;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
void sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];
array[k]=array[i];
array[i]=t;
}
}
二、完成一个函数,输入值为整数,输出该值的二进制
#include<iostream>
using namespace std;
int i=0;
int main()
{
void binary(int x,int *p);
int x;
int p[100];
cout<<"请输入一个整数:"<<endl;
cin>>x;
cout<<"输出该数的二进制:"<<endl;
if(x==0)
cout<<"0"<<endl;
else
{
binary(x,p);
for(int j=i-1;j>=0;j--)
cout<<p[j];
cout<<endl;
}
return 0;
}
void binary(int x,int *p)
{
if(x==0) return;
else
{
p[i]=x%2;
i++;
binary(x/2,p);
}
}
三、完成一个判断整数是否素数的函数,即,输入一个整数,判断其是否为素数
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
bool Isprime(int x);
int x;
cout<<"请输入一个整数:"<<endl;
cin>>x;
cout<<"判断该数是否为素数:"<<endl;
Isprime(x);
return 0;
}
bool Isprime(int x)
{
if(x<=1)
{
cout<<x<<"不是素数"<<endl;
return 0;
}
else
{
for(int i=2;i<=sqrt(x);i++)
{
if((x%i)==0)
{
cout<<x<<"不是素数"<<endl;
return 0;
}
}
cout<<x<<"是素数"<<endl;
return 1;
}
}
四、编辑一个数学公式:a的立方 + b的立方 = c的立方
题目的要求我不太明白,所以我理解为:先输入a,b,c三个数,判断该公式是否成立,若不成立,求由已知的a,b算得的c。
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float a,b,c;
cout<<"输入a,b,c:"<<endl;
cin>>a>>b>>c;
cout<<"判断a^3+b^3=c^3是否成立:";
if(pow(a,3.0)+pow(b,3.0)==pow(c,3.0))
cout<<"成立"<<endl;
else
{
cout<<"不成立"<<endl;
c=pow((pow(a,3.0)+pow(b,3.0)),1.0/3.0);
cout<<"使得公式成立的c为:"<<c<<endl;
}
return 0;
}
修改:
第四题经老师指正后,改正得
a
3
+
b
3
=
c
3
a^3+b^3=c^3
a3+b3=c3