2009年10月13日 星期二

類比電路(C++)段考類題

第一種 ~~1/(1x2)+1/(2x3)+1/(3x4)



#include

float sum(float);

int main (void){

float n;

printf("\n 1/(1x2)+1/(2x3)+1/(3x4)+......+1/(n-1)n,n=?");

scanf("%f",&n);

printf("\n 1/(1x2)+1/(2x3)+1/(3x4)+......+1/(%.0fx%.0f)=%f",n-1,n,sum(n));

getch();

return 0;}

float sum (float m){

if (m==2) return 1.0/2.0;

else return sum(m-1)+1/((m-1)*m);}



第二種~1/3+1/5+1/7



#include

float sum(float);

int main (void){

float n;

printf("\n 1/3+1/5+1/7+......+1/n,n=?");

scanf("%f",&n);

printf("\n 1/3+1/5+1/7+......+1/%f=%f",n,sum(n));

getch();

return 0;}

float sum (float m){

if (m==3) return 1.0/3.0;

else return sum(m-2)+1/m;}



比大小並輸出最大的數字



#include

int f(int,int,int);

int main(void){

int a,b,c;

printf("\n a=? b=? c=?");

scanf("%d %d %d",&a,&b,&c);

printf("\n Max(%d %d %d) is %d",a,b,c,f(a,b,c));

system("pause");

return 0;}

int f(int x,int y,int z){

int w=z;

if(x>w)w=x;

if(y>w)w=y;

return w;}



比大小2(與上面結果會相同)



#include

void f(int,int,int);

int main(void){

int a,b,c;

printf("\n a=? b=? c=?");

scanf("%d %d %d",&a,&b,&c);

f(a,b,c);

system("pause");

return 0;} //f main

/*以上為主程式*/



void f(int x,int y,int z){

int w=z;

if(x>w) w=x;

if(y>w) w=y;

printf("Max(%d %d %d) is %d",x,y,z,w);}

// return w; } //f f

沒有留言:

張貼留言