#include <iostream>
#include <cmath>
double sq2(double a,double b);
int main()
{
using namespace std;
cout<<sq2(10,1000) ;
return 0;
}
double sq2(double a,double b)
{
return sqrt(a*b) ;
}
2、求和s=1!+2!+3!+4!,采用自定义函数;
#include <iostream>
#include <cmath>
long ntimes(long a );
int main()
{
using namespace std;
cout<<ntimes(4);
}
long ntimes(const long a )
{
long eq=1,eq2=0;
for(int i=1;i<=a;i++)
{
eq*=i;
eq2+= eq;
}
return eq2;
}
3333333333333333
#include <iostream>
#include <cmath>
using namespace std;
int divisor(int a,int b);
long mutible(long a,long b);
int main()
{
using namespace std;
cout<<divisor(20,70)<<endl;
cout<<mutible(100,1000);
}
int divisor(int a,int b)
{
int i=(a<b)?a:b;
int c=0;
for(int j=1;j<=i;j++)
{
if(a%j==0 && b%j==0 )
{
if ( j!=1)
c=j;
}
}
if (c==0)
c=1;
return c;
}
long mutible(long a,long b)
{
int i=(a<b)?a:b;
int c;
c=divisor(a,b);
c=a/c *(b/c)*c;
return c;
}
//444444444444444444444
#include <iostream>
#include <string>
#include <iomanip>
void fourbit(int number) ;
using namespace std;
int main()
{
int num;
cin >>num;
fourbit(num);
}
void fourbit(int number)
{
int a,b,c,d;
a=number/1000;
b=(number-a*1000)/100;
c=((number-a*1000)-b*100)/10;
d=(number-a*1000)-b*100-c*10;
cout <<a<<" ";
cout <<b<<" ";
cout <<c <<" ";
cout<<d<<" ";
}
//55555555555
#include <iostream>
#include <string>
#include <iomanip>
void max(const int *num,int size) ;
int main()
{
using namespace std;
int a[4]={4,3000,6,100};
max(a,4) ;
}
void max(const int *num,int size)
{
int b=num[0];
for (int i=0;i<size;i++)
{
if(num[i]>b)
b=num[i] ;
}
cout<<b;
}
//6666666666666666
#include <iostream>
#include <string>
using namespace std;
void cal(const double *num,int size) ;
double arr[10];
double total=0,average=0,max=0,mini=0;
int main()
{
cout<<"请输入10个数字!!" ;
for(int i=0;i<10;i++)
{
cin>>arr[i];
}
cal(arr,10);
cout<<"平均 "<<average<<endl;
cout<<"最大 "<<max<<endl;
cout<<"最小 "<<mini<<endl;
}
void cal(const double *num,int size)
{
max=arr[0];
mini=arr[0];
for(int i= 0;i<size;i++)
{
total+=arr[i];
if(max<arr[i])
max=arr[i];
if(mini>arr[i])
mini=arr[i];
}
average=total/size;
}
//7777777777777
#include <iostream>
#include <string>
using namespace std;
void reoct(const int a);
int main()
{
int a;
cin>>a;
reoct(a);
}
void reoct(const int a)
{
cout<<oct<<a ;
}
//8、输入两个整数,分别采用子函数调用与指针的方法,将两个数交换顺序,然后输出
#include <iostream>
#include <string>
using namespace std;
void exchange(int *a,int *b);
int main()
{
int aa=30,bb=60;
exchange(&aa,&bb);
cout<<aa<<" "<<bb;
}
void exchange(int *a,int *b)
{
int temp;
temp=*a;
*a=*b ;
*b=temp;
}
/*9、编写一函数,求一维数组的最大元素及其下标位置(要求使用指针)
已知:数组首地址p,元素个数n;(作函数参数)
结果:下标k;(作返回值)
*/
#include <iostream>
int *arr(int *p,int n);
int *k;
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
cout<<"下标的地址是!!"<<arr(a,10)<<endl;
}
int* arr(int *p,int n)
{
int max=*p;
int i;
for(i=0;i<n;i++)
{
if(max < *(p+i))
max=*(p+i) ;
}
cout<<"最大数为!!"<<max<<endl;
k=p+i-1 ;
return k;
}
/*11、求某班某门课的平均成绩,统计超过平均值的人数(要求用指针操作数组)
分析:
1、令p指向score(存放成绩的数组)的开始;
2、通过移动指针求和(重复N次)
3、求平均值;
4、令p重新指向score的开始;
5、不移动指针但通过指针判断各单元的内容是否大于平均值,并计数。
*/
#include <iostream>
double score[10]={1,2,3,4,5,6,7,8,9,10};
double highscore=0,total=0;
int number=0;
int main()
{
double *p=score;
for(int i=0;i<10;i++)
{
total+=*p;
p++;
}
cout<<"总数为"<<total<<endl<<"平均值为"<<total/10<<endl;
p=score;
highscore=*p;
for(int i=0;i<10;i++)
{
if(total/10<*(p+i))
number++;
}
cout<<"超过平均值的人数为!!"<<number ;
}
温馨提示:答案为网友推荐,仅供参考