C++习题集 下载本文

9. #include

const int T=6; void main() {

int I,j,k=0;

for(i=1;i<=%;i+=2)

for(j=2;j<=T;j++)

if(i+j==T) cout<<’+’; else if(i*j==T) cout<<’*’ else k++;

cout<

}

10. #include

void main() {

int a,b,c=0;

for(a=1;a<6;a++) for(b=6;b>1;b--) {

if((a+b)%3==2){c+=a+b;cout<20) break; }

cout<<”c=”<

11. #include

const int B=2; void main() {

int p=1,s=1;

while(s<50)

‘<

p*=B; s+=p; }

cout<<”s=”<

}

12. #include

void main() {

int x,y;

int i=2,p=1;

cout<<”请输入两个整数x和y:”; cin>>x>>y; do{

while(x%i==0&&y%i==0) { p*=I; x/=I; y/=I; } i++;

}while(x>=i&&y>=i);

cout<<”x和y的最小公倍数:”<

假定从键盘上输入的两个整数为24和88。

三、指出下列每个程序的功能并上机验证

1. #include

double f1(int n) {

double sign=1,s=1; for(int i=2;i<=n;i++)

{

s+=sign/(i*i); sign*=-1; }

return s; }

void main() {

int a; cin>>a;

cout<

2. #include

void main() {

double a,x,y; cin>>a; do{

cin>>x; if(x==-1)break;

if(x<0)y=a*x+5;

else if(x<=20) y=3*x*x-2*a+1; else y=a*a+x*x;

cout<

3. #include

#include

double f1(double a,double b,char op) {

switch(op){

case ‘+’: return a+b; case ‘-’: return a-b; case ‘*’: return a*b; case ‘/’: if(b==0)

{ cout<<”divided by 0!”<

else return a/b;

default : cout<<”operator error!”<

exit(1); } }

void main()

{

double x,y; char op;

cout<<”请输入两个实数和一个运算符:”; cin>>x>>y>>op;

cout<

4. #include

#include void main() {

int x1,x2;

cin>>x1;

x2=int(sqrt(x1));

for(int i=1;i<=x2;i++)

if(x1%i==0) cout<

5. #include

void main() {

int I,p=1,s=0;

int N;

cout<<”输入一个正整数:”; cin>>N;

for(i=1;i<=N;i++) {

p*=I; s+=p; }

cout<

6. #include

double f1(double x,int n) {

double p1,p2,p3,s;

p1=s=x;p2=p3=1; if(n==0) return s; for(int i=1;i<=n;i++) {

p1*=x*x;

p2*=2*i*(2*i+1); p3*=-1; s+=p3*p1/p2; }