C++进阶教程习题答案
习题1: 1、 选择题: C √ C X C √ D X B √ B √ B √ D √ B √ A X 2、判断题: 3、 简答题:略。 4、 上机实验题:略。
习题2: 1、选择题: B A D X 初始化 6 98 4、 上机实验题: (1) 140 80 140,81 170 81,170 0 1
(2) 5 4
(3) 44 11 0 45 1
1
C A A X C B B √ 实型 12 13 B A D √ B D D √ 2.5 36 14 D A C X A A C √ 1 2 0 15 13 21 D A D √ C B B X 0.5 4 D A X 2、 判断题: 3、 填空题: x1=%d,x2=%d 习题3: 1、选择题: A A 2、程序填空: x1=x2 b%a!=0 return 0 i<=200 x/10 sign=-1*sign
3、编程题
(1)设计一个程序,从键盘输入一个整数,判断其奇偶性。 #include
printf(\请输入整数n:\scanf(\if(n%2!=0)
printf(\输入的是奇数\\n\else
printf(\输入的是偶数\\n\}
(2)从键盘输入一行字符,统计其中的英文字母、空格、数字和其他字符的个数。 #include
int a=0,b=0,c=0,d=0;
printf(\请输入一串字符: \while((z=getchar())!='\\n') {
if(z>='A'&&z<='Z'||z>='a'&&z<='z') a++; else if(z==' ') b++;
else if(z>='0'&&z<='9') c++; else d++; }
printf(\英文字符个数%d\\n\printf(\空格字符个数%d\\n\printf(\数字字符个数%d\\n\printf(\其它字符个数%d\\n\}
(3)打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个“水仙花数”: 153 = 13 + 53 + 3。 #include
int a=0,b=0,c=0,K;
2
C A C B B C C C D C for(K=100;K<1000;K++) {
a=K/100;b=K/10-a*10;c=K;
if(K==a*a*a+b*b*b+c*c*c) printf(\} }
(4)求S=1!+2!+3!+…+20!。 #include
float s=0,t=1; int n;
for(n=1;n<=20;n++) {
t=t*n; s=s+t; }
printf(\!+2!+3!+?+20!=%e\\n\}
(5)用循环输出乘法九九表。 #include
for(;a<10;a++)
{for(b=1;b<=a;b++) {k=a*b;
printf(\%d*%d=%d\}printf(\}}
(6)编写一个函数f (n),求任意整数的逆序数,例如当n=3456时,函数值为6543。 long fun(long x) {long i,t=0; while(x>0)
{ i=x; t=t*10+i; x=x/10; } return t; }
(7)编写一个判断一个整数是否是素数的函数,求1000以内的素数个数。 #include
int i;
3
for(i=2;i<=x-1;i++)
if(x%i==0) break;
if(x==i) return 1; else return 0; }
main( )
{ int a,s=0;
for(a=3;a<=1000;a++) if (fun(a)) s++; printf(\}
(8)设计一个程序,定义一个带参数的宏,使两个参数的值能够互换。 #include
#define s(a,b) temp=a;a=b;b=temp main( )
{ int a=10,b=20,temp;
printf(\ b=%d\\n\ s(a,b);
printf(\ b=%d\\n\}
(9)求输入的整数各位数字之和。如:3456的各位数字之和是:3+4+5+6=18。#include
{ int x,i,t=0;
printf(\请输入一个整数:\ scanf(\ while(x>0)
{ i=x; t=t+i;
x=x/10; } printf(\}
(10)用循环编程,打印出用九排“*”号组成的等腰三角形。 #include
{ int i,j,k; for(i=1;i<=9;i++) {for(j=1;j<=9-i+5;j++) printf(\\
for(k=1;k<=2*i-1+5;k++) {if(k<=5) printf(\\ else printf(\printf(\}
4
}
(11)编辑一个My.h文件,把各种变量定义放在此文件中,然后用#include “My.h”命令将该头文件包含在自己的源文件中,并在源文件中使用这些变量。 (略)
习题4 1、选择题 A B &a[i] str[0] '\\0' D D 2、程序填空 i%4==0 s k printf(\min=*p2 s1,s2 i==j min=*p3 float **x,int m,int n a[i][j] s1[k]!='\\0' *(*(x+i)+j) C D D B B D D C D A D B A C B B 3、编程题 (1)用选择法对10个整数排序。 #include
{int I,j,k,t,a[10];
for(I=0;I<10;I++) scanf(\for(I=0;I<10;I++) {k=I;
for(j=I+1;j<10;j++) if(a[k]>a[j]) k=j;
if(k!=I){t=a[I];a[I]=a[k];a[k]=t;} } printf(\
for(I=0;I<10;I++)printf(\}
(2)将一个数放入已排好序的数组中,要求数组的排序规律不变。
#include \
main() {
int a[11]={1,3,5,7,12,33,88,99,120,150}; int num,i,j; printf(\原数组:\\n\for(i=0;i<10;i++) printf(\printf(\
printf(\输入一个数\scanf(\for(i=0;i<10;i++) if(a[i]>num)
{j=a[i];a[i]=num;num=j;}
5
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育C++程序设计(陈松版)1.、2部分课后习题答案 全文阅读和word下载服务。
相关推荐: