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;
}