教材练习题参考答案.docx
- 文档编号:5137820
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:142
- 大小:56.50KB
教材练习题参考答案.docx
《教材练习题参考答案.docx》由会员分享,可在线阅读,更多相关《教材练习题参考答案.docx(142页珍藏版)》请在冰豆网上搜索。
教材练习题参考答案
教材练习题参考答案
第一章
1、
#include
voidmain()
{
cout<<"**************************\n";
cout<<"江苏科技大学欢迎您!
\n";
cout<<"**************************\n";
}
2、
(1)#include
voidmain()
{
inta=4,b=5,c=6,z;
z=a+b>c&&b==c||++b>++a;
cout<<"表达式的值为:
"< cout<<"a="< } 运行结果: 表达式的值为: 1 a=5b=6c=6 (2) #include voidmain() { inta=4,b=5,c=6,z; z=c-=a+=b*=10-a; cout<<"表达式的值为: "< cout<<"a="< } 运行结果: 表达式的值为: -28 a=34b=30c=-28 (3) #include voidmain() { inta=4,b=5,c=6,z; z=a=b+++--c+b>=c; cout<<"表达式的值为: "< cout<<"a="< } 运行结果: 表达式的值为: 1 a=1b=6c=5 (4) #include voidmain() { inta=4,b=5,c=6,z; z=(b=a+b,a=b-a,b=b-a,a+b+c); cout<<"表达式的值为: "< cout<<"a="< } 运行结果: 表达式的值为: 15 a=5b=4c=6 3、 #include voidmain() { inta; cout<<"输入一个数: "< cin>>a; cout< "< cout< "< } 4、 #include voidmain() { inta,b,c,v,aver; cout<<"输入三个数: "< cin>>a>>b>>c; v=a*a+b*b+c*c; aver=(a+b+c)/3; cout<<"三个数的平方和是: "< cout<<"三个数的平均值是: "< } 第二章 1、 #include voidmain() { inta,b,c,t; cout<<"输入三个数: "< 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< } 2、 #include voidmain() { floatx,sum=0.0; inti=1; while(i<=10) { cin>>x; sum=sum+x; i=i+1; } cout<<"平均值是: "< } 3、 #include voidmain() { doubley=0.0,t=1.0; intn; cin>>n; for(inti=1;i<=n;i++) {t=t*i; y=y+t; } cout<<"n="< } 4、 #include voidmain() {intcount=0; for(intn=200;n<1000;n++) { for(inti=2;i<=n-1;i++) if(n%i==0)break; if(i>n-1) { cout< count++; } } cout<<'\n'<<"count="< } 5、 #include voidmain() {inta,n,sum=0,c=0; cout<<"输入一个数: "< cin>>a; n=a; do { sum+=n%10; n/=10; c++; }while(n); cout< "< cout< } 6、 #include voidmain() {inta,b,i; for(i=1;i<=999;i++) { a=i%10; b=i%100; if(i==a*a||i==b*b) cout< } } 7、 #include #include voidmain() {doublea,b,n; for(n=10000;n<=99999;n++) { a=n*10+6; b=6*+n; if(fabs(b-4*a)<1e-5){cout< } } 第三章 //1.一维数组的输入和输出 #include voidmain() { inta[10],k=1; for(inti=0;i<10;i++) { cout<<"请输入第"< cin>>a[i]; } cout<<"数组a为: \n"; for(i=0,k=0;i<10;i++) { k++; cout< if(k%5==0)cout<<'\n'; } cout<<'\n'; } //2.通过指针输出一维数组中值为奇数元素 #include voidmain() { inta[10]={3,4,5,8,9,11,14,16,19,21},*p=a,k=0; cout<<"数组a中的奇数有: \n"; for(inti=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 #include voidmain() { intb[4][5]; cout<<"产生的数组为: \n"; for(inti=0;i<4;i++) { for(intj=0;j<5;j++) { b[i][j]=rand(); cout< } cout<<'\n'; } cout< } //4.二维数组的平方赋值 #include voidmain() { inta[3][4]={3,1,5,2,4,1,7,5,3,6,9,8},b[3][4]; cout<<"数组a为: \n"; for(inti=0;i<3;i++){ for(intj=0;j<4;j++) { cout< b[i][j]=a[i][j]*a[i][j]; } cout< } cout< cout<<"数组b为: \n"; for(i=0;i<3;i++){ for(intj=0;j<4;j++) cout< cout< } cout< } //5.小写字母改写为大写字母 #include voidmain() { charstr[100]; cout<<"请输入一个含空格字符的字符串。 \n"; cin.getline(str,100); for(inti=0;str[i];i++) if(str[i]>='a'&&str[i]<='z') str[i]-='a'-'A'; cout<<"转换后的字符串为: \n"; cout< } //6.通过指针将字符串逆序 #include #include voidmain() { charstr[]="abc321",*s1=str,*s2,ch; cout<<"原字符串为: \n"< s2=str;//A while(*s2)s2++; s2--;//B while(s1 ch=*s1; *s1=*s2; *s2=ch; s1++; s2--; } cout<<"逆序后的字符串为: \n"< } /*其中A到B行可改为: s2=str+strlen(str)-1; */ 第四章习题答案 4-1 #include voidswap(int*p1,int*p2) { intt; t=*p1;*p1=*p2;*p2=t; } voidmain() { inta,b,c; int*s1,*s2,*s3; cout<<"输入三个数a,b,c: "; cin>>a>>b>>c; s1=&a; s2=&b; s3=&c; if(a>b)swap(s1,s2); if(a>c)swap(s1,s3); if(b>c)swap(s2,s3); cout<<"输出排好序的三个数: "; cout< } 4-2 #include voidtrans(int,int); voidmain() { intn,sel; cout<<"输入一个整数: "; cin>>n; do { cout<<"\n输出进制: 2,8,16,32(输入0时退出): "; cin>>sel; switch(sel) { case2: trans(n,2);break; case8: trans(n,8);break; case16: trans(n,16);break; case32: trans(n,32);break; case0: break; default: cout<<"进制输入错误! "< } }while(sel! =0); } voidtrans(intn,intbase) { intc; if(n==0)return; c=n%base; trans(n/base,base); if(c<=9) cout< else cout< } 4-3 #include #include #include voidfun(intb[],intn) { for(inti=0;i for(intj=i+1;j { if(b[i]! =0&&b[j]! =0) if(b[j]%b[i]==0) b[j]=0; } } voidmain() { inta[210]={0},n=0,k=5; for(inti=0;i<48;i++)//给数组赋初值 a[i]=k,k+=2; fun(a,48); for(i=0;i<49;i++) { if(a[i]! =0) { cout< n++; if(n%5==0) cout< } } cout< } 4-4 #include intgcd(int,int); intlcm(int,int); voidmain() { intnum1,num2,den1,den2,a,l,g; cin>>num1>>den1>>num2>>den2; cout< cout<<"求分母的最小公倍数: "; l=lcm(den1,den2); cout< cout<<"两分数的和为: "; a=(l/den1)*num1+(l/den2)*num2; cout< cout<<"求分子分母的最大公约数: "; g=gcd(a,l);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教材 练习题 参考答案