当前位置:文档之家› C++教材练习题(作业)参考答案

C++教材练习题(作业)参考答案

教材练习题参考答案第一章1、#include <iostream.h>void main(){cout<<"**************************\n";cout<<" 江苏科技大学欢迎您! \n";cout<<"**************************\n";}2、(1)#include <iostream.h>void main(){int a=4,b=5,c=6,z;z=a+b>c&&b==c||++b>++a ;cout<<" 表达式的值为: "<<z<<endl;cout<<" a="<<a<<" b="<<b<<" c="<<c<<endl; }运行结果:表达式的值为: 1a= 5 b= 6 c=6(2)#include <iostream.h>void main(){int a=4,b=5,c=6,z;z= c-=a+=b*=10-a ;cout<<" 表达式的值为: "<<z<<endl;cout<<" a="<<a<<" b="<<b<<" c="<<c<<endl; }运行结果:表达式的值为: -28a= 34 b= 30 c=-28(3)#include <iostream.h>void main(){int a=4,b=5,c=6,z;z= a=b++ + --c + b >= c ;cout<<" 表达式的值为: "<<z<<endl;cout<<" a="<<a<<" b="<<b<<" c="<<c<<endl;运行结果:表达式的值为: 1a= 1 b= 6 c=5(4)#include <iostream.h>void main(){int a=4,b=5,c=6,z;z=( b=a+b, a=b-a, b=b-a , a+b+c ) ;cout<<" 表达式的值为: "<<z<<endl;cout<<" a="<<a<<" b="<<b<<" c="<<c<<endl; }运行结果:表达式的值为: 15a= 5 b= 4 c=63、#include <iostream.h>void main(){int a;cout<< " 输入一个数: "<<endl;cin>>a;cout<<a<<" 的十位数是: "<<a/10<<endl;cout<<a<<" 的个位数是: "<<a%10<<endl;}4、#include <iostream.h>void main(){int a,b,c,v,aver;cout<< " 输入三个数: "<<endl;cin>>a>>b>>c;v=a*a+b*b+c*c;aver=(a+b+c)/3;cout<<" 三个数的平方和是: "<<v<<endl;cout<<" 三个数的平均值是: "<<aver<<endl; }第二章1、#include <iostream.h>void main(){int a,b,c,t;cout<< " 输入三个数: "<<endl;cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<<a<<'\t'<<b<<'\t'<<c<<endl;}2、#include <iostream.h>void main(){float x,sum=0.0;int i=1;while(i<=10){cin>>x;sum=sum+x;i=i+1;}cout<<"平均值是: "<<sum/10<<endl; }3、#include <iostream.h>void main(){double y=0.0,t=1.0;int n;cin>>n;for(int i=1;i<=n;i++){ t=t*i;y=y+t;}cout<<" n= "<<n<<" y= "<<y<<endl; }4、#include <iostream.h>void main(){ int count=0;for(int n=200;n<1000;n++){for(int i=2;i<=n-1;i++)if(n%i==0) break;if(i>n-1){cout<<i<<'\t';count++;}}cout<<'\n'<<"count="<<count<<endl;}5、#include <iostream.h>void main(){ int a,n,sum=0,c=0;cout<< " 输入一个数: "<<endl;cin>>a;n=a;do{sum+=n%10;n/=10;c++;}while(n);cout<<a<<"的所有数字之和为:"<<sum<<endl;cout<<a<<" 是 "<<c<<" 位数" <<endl;}6、#include <iostream.h>void main(){ int a,b,i;for(i=1;i<=999;i++){a=i%10;b=i%100;if(i==a*a || i==b*b)cout<<i<<endl;}}7、#include <iostream.h>#include <math.h>void main(){ double a,b,n;for(n=10000;n<=99999;n++){a=n*10+6;b=6*100000+n;if(fabs(b-4*a)<1e-5) { cout<<a<<endl;break;}}}第三章//1. 一维数组的输入和输出#include<iostream.h>void main(){int a[10],k=1;for(int i=0;i<10;i++){cout<<"请输入第"<<k++<<"个元素a["<<i<<"]\t";cin>>a[i];}cout<<"数组a为:\n";for(i=0,k=0;i<10;i++){k++;cout<<a[i]<<'\t';if(k%5==0)cout<<'\n';}cout<<'\n';}//2. 通过指针输出一维数组中值为奇数元素#include<iostream.h>void main(){int a[10]={3,4,5,8,9,11,14,16,19,21},*p=a,k=0;cout<<"数组a中的奇数有:\n";for(int i=0;i<10;i++)if(p[i]%2){k++;cout<<*(p+i)<<'\t';if(k%5==0)cout<<'\n';}cout<<"\n";}//3. 产生一个随机的二维数组b[4][5],并按矩阵的方式输出#include<iostream.h>#include<stdlib.h>void main(){int b[4][5];cout<<"产生的数组为:\n";for(int i=0;i<4;i++){for(int j=0;j<5;j++){b[i][j]=rand();cout<<b[i][j]<<'\t';}cout<<'\n';}cout<<endl;}//4. 二维数组的平方赋值#include<iostream.h>void main(){int a[3][4]={3,1,5,2,4,1,7,5,3,6,9,8},b[3][4];cout<<"数组a为:\n";for(int i=0;i<3;i++){for(int j=0;j<4;j++){cout<<a[i][j]<<'\t';b[i][j]=a[i][j]*a[i][j];}cout<<endl;}cout<<endl;cout<<"数组b为:\n";for(i=0;i<3;i++){for(int j=0;j<4;j++)cout<<b[i][j]<<'\t';cout<<endl;}cout<<endl;}//5. 小写字母改写为大写字母#include<iostream.h>void main(){char str[100];cout<<"请输入一个含空格字符的字符串。

相关主题