當前位置:編程學習大全網 - 編程語言 - 急!請C++高手幫忙編程。100分送上。

急!請C++高手幫忙編程。100分送上。

/*(1)定義壹個函數 int count(int a[],int n) 在n個元素的數組a中,統計出大於零的元素個數,此個數作為函數返回值。 在main()函數中,對數組b做如下初始化

int b[]={15,16,-23,7,-5,19,-2,0,28,11};

然後調用妳定義的函數,在主函數中輸出數組b中小於零元素的個數。

*/

#include "iostream.h"

int z=0;//零的個數

int count(int a[],int n)

{

int dl=0; //大於0的個數

int i;

for(i=0;i<n;i++)

{

if(a[i]>0)

dl++;

else if(a[i]==0)

z++;

}

return dl;

}

void main()

{

int n,x;

int b[]={15,16,-23,7,-5,19,-2,0,28,11};

n=10;

x=n-count(b,n);

x=x-z;

cout<<"less than zero number="<<x<<endl;

}

/*(2)寫兩個函數,分別求兩個整數的最大公約數和最小公倍數,

用主函數調用這兩個函數並輸出結果。兩個整數由鍵盤輸入。

利用最大公約數求最小公倍數

由於兩個數的乘積等於這兩個數的最大公約數與最小公倍數的積。這就是說,求兩個數的最小公倍數,可以先求出兩個數的最大公約數,再用這兩個數的最大公約數去除這兩個數的積,所得的商就是兩個數的最小公倍數。

例 求105和42的最小公倍數。

因為105和42的最大公約數是21,

105和42的積是4410,4410÷21=210,

所以,105和42的最小公倍數是210。

*/

#include "iostream.h"

int gys,gbs;

int gy(int a,int b)

{

int r;

r=a%b;

if(r!=0)

{

a=b;

b=r;

r=a%b;

}

return b;

}

int gb(int a,int b)

{

int r;

r=a*b/gys;

return r;

}

int main()

{

int a,b,t;

cout<<"Input a"<<endl;

cin>>a;

cout<<"Input b"<<endl;

cin>>b;

if(a==0 || b==0)

{

cout<<"Input Error"<<endl;

return 0;

}

if(a<b)

{

t=a;a=b;b=t;

}

gys=gy(a,b);

gbs=gb(a,b);

cout<<"gys="<<gys;

cout<<"gbs="<<gbs;

}

/*(3)求方程ax2+bx+c=0的根,用三個函數分別求當b2-4ac大於0、

等於0和小於0時的根,並輸出結果。從主函數出入a、b、c的值,

編程求解該方程的根。

*/

#include "iostream.h"

#include <math.h>

void dy(double a,double b,double c,double derta)

{

double d;

double x1,x2;

if(a==0)

{

x1=-c/b;

x2=-c/b;

}

else

{

d=pow(derta,0.5);

x1=(-b+d)/2/a;

x2=(-b-d)/2/a;

}

cout<<"x1="<<x1<<endl;

cout<<"x2="<<x2<<endl;

}

void deng(double a,double b,double c, double derta)

{

dy(a,b,c,derta);

}

void xiao(void)

{

cout<<"no answer!"<<endl;

}

int main()

{

double a,b,c;

double derta;

cout<<"Input a"<<endl;

cin>>a;

cout<<"Input b"<<endl;

cin>>b;

cout<<"Input c"<<endl;

cin>>c;

derta=b*b-4*a*c;

if( derta>0)

{

dy(a,b,c,derta);

}

else if(derta==0)

{

deng(a,b,c,derta);

}

else // derta<0

{

xiao();

}

}

/*(4)寫壹個判素數的函數,在主函數輸入壹個整數,輸出是否素數的信息

*/

#include "iostream.h"

#include <math.h>

int compare(int n)

{

int b=1;

int i;

if(n==2 || n==1)

{

}

else

{

for(i=2;i<=n;i++)

{

if(n%i==0)

{

b=0;

break;

}

}

}

return b;

}

int main()

{

int n;

cout<<"Input n"<<endl;

cin>>n;

if(compare(n)==1)

{

cout<<"this number is prime number!"<<endl;

}

else

{

cout<<"this number is not prime number!"<<endl;

}

}

/*(1) 編寫壹個函數,實現兩個整數的交換。如:主調函數中

int a=10;

int b=20;

使用引用作為函數的參數,交換後為:

a=20;

b=10;

*/

#include "iostream.h"

void change(int &a,int &b)

{

int t;

t=a;

a=b;

b=t;

}

void main()

{

int a=10;

int b=20;

change(a,b);

cout<<"a="<<a<<"\nb="<<b<<endl;

}

/*(2) 編程實現兩個字符串的交換。如:

char *p1=”hello”

char *p2=”good”

使用引用作為函數的參數,交換後為:

p1: ” good”

p2:” hello”

*/

#include "iostream.h"

#include "stdio.h"

#include "string.h"

void change(char *&p1,char *&p2)

{

char *t1;

t1=p1;

p1=p2;

p2=t1;

}

void main()

{

char *p1="hello";

char *p2="good";

change(p1,p2);

cout<<"p1="<<p1<<"\np2="<<p2<<endl;

}

  • 上一篇:直角坐標型機器人有什麽應用分類?
  • 下一篇: 本區及鄰區火山盆地鈾礦主要類型及其特征
  • copyright 2024編程學習大全網