c语言程序设计答案(常东超)清华大学出版社
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.20;
3.21100 15.81 1.89234
100TAB 15.81TAB1.89234
100↙15.81↙1.89234
注:,TAB和回车可以任意组合
三、编程题
略
第四章
一、选择题
4.1 A 4.2 A 4.3 A 4.4 D 4.5 B 4.6 B 4.7 2 4.8 1 4.9 16 4.10 C
第一章
一、选择题
1.1 D 1.2 A 1.3 B 4.4 B
二、填空题
1.5 .exe
1.6 .c .obj .exe
1.7顺序选择循环
第二章
一、选择题
2.1 C2.2 D 2.3 B2.4 D 2.5 B2.6 B 2.7 C 2.8 A 2.9 C
2.10 A 2.11 B 2.12 A 2.13 D 2.14 A 2.15 C 2.16 B 2.17 B 2.18 C
2.38 double a1=1,a2=1;
2.39存储单元
2.40 a*b/c (a*b)/c b*a/c
2.41把10赋给a
2.42 0 0 8.5 90 10 2 2.5 0 0
2.43 (1) char *p; p=&ch;
(2) char *p=&ch;
(3) p=&ch;
(4) ch=’A’; *p=’A’;
j++;
}
}
7.26
int fun(char *s)
{
int flag=0,num=0;
while(*s)
{
if(*s==' ')
flag=0;
else if(flag==0)
{
num++;
flag=1;
}
s++;
}
return num;
}
7.27
void fun(int *a,int *b)
{
int i;
scanf("%d",&m);
if(fun(m)==1)
printf("%d is a prime number!\n",m);
else printf("%d is not a prime number!\n",m);
}
7.32
#include <stdio.h>
double fun(int n)
{
for(i=0;i<11;i++)
b[i]=0;
for(i=0;i<N;i++)
{
switch(a[i]/10)
{
case 0:b[0]++;break;
case 1:b[1]++;break;
case 2:b[2]++;break;
case 3:b[3]++;break;
case 4:b[4]++;break;
4.11 C 4.12 B4.13 D
二、填空题
4.14非0 0
4.15低
4.16高
4.17高
4.18高于
4.19 (a)a==b||a<c(b)x>4||x<-4
4.20 1
4.21(a)x<=0(b) 1
4.22 322
4.23 1
4.24a:bc:t1
4.25 *#
三、编程题
略
第五章
一、选择题
case 5:b[5]++;break;
case 6:b[6]++;break;
case 7:b[7]++;break;
case 8:b[8]++;break;
case 9:b[9]++;break;
default:b[10]++;
}
}
}
7.28
void fun(int y,int b[],int *m)
(5) printf(“%c”,ch); putchar(ch);
2.44 110
2.45 (1) s=p+3;
(2) s=s-2;
(3) 50
(4) *(s+1)
(5) 2
(6) 30 40
2.46 00001111
2.47 a&0
2.48 x | 1111111100000000
2.49 ch & 01011111
{
int i,k=0;
for(i=1;i<=y;i++)
if(y%i==0&&i%2==1)
b[k++]=i;
*m=k;
}
7.29
void fun(char *a,char *p)
{
char *pp=a;
int k=0;
while(pp<p)
{
if(*pp!='*')
a[k++]=*pp;
pp++;
7.21 GFEDCB
7.22 goodgood!
7.23 XYZA
7.24 110
第三题:编程题
7.25
void fun(int *w,int p,int n)
{
int i,j=0,t;
while(j<=p)
{
t=w[0];
for(i=1;i<n;i++)
w[i-1]=w[i];
w[n-1]=t;
第三章
一、选择题
3.1 C 3.2C3.3D3.4B3.5C3.6C3.7D3.8B3.9 C
3.10D3.11A3.12B3.13 D 3.14C3.15A3.16D
二、填空题
3.17(1)-200,2500(2)i=-200,j=2500
(3)i=-200
j=2500
3.1812 0 0
3.19一条语句;
2.19 A 2.20 D 2.21 A 2.22 B 2.23 A 2.24 D 2.25 B 2.26 A 2.27 B
2.28 A 2.29 C 2.30 D 2.31 A 2.32 A
二、填空题
2.33 1 2
2.34 4.2 4.2
2.35 3.8
2.36 123.460000
2.37 int float double char
printf("The result is %lf\n",fun(n));
}
7.33
#include <stdio.h>
double fun(int m)
{
double sum=1.0;
int i;
for(i=2;i<=m;i++)
sum-=1.0/(i*i);
return sum;
}
void main()
5.1D5.2B5.3C5.4D5.5B5.6D5.7C5.8 B 5.9A
5.10B5.11 A
二、填空题
5.1254321
5.1329
5.141024
5.15-1
5.162500
5.1711
5.180918273645
5.19d=1.0 k++ k<=n
5.20t*10
5.21x>=0 x<amin
}
while(*p)
{
a[k++]=*p;
p++;
}
a[k]='\0';
}
7.30
void fun(int m,int *k,int xx[])
{
int n=0,i,j;
for(i=2;i<m;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(j<i)
xx[n++]=i;
}
*k=n;
}
7.31
#include <stdio.h>
int fun(int m)
{
int i,flag=1;
for(i=2;i<m;i++)
if(m%i==0)
{
flag=0;
break;
}
return flag;
}
void main()
{
int m;
printf("Please input a number: ");
{
int m;
printf("Please input a number: ");
scanf("%d",&m);
printf("The result is %lf\n",fun(m));
}
5.2232
三、编程题
略
第6,7章答案
第一题:选择题
7.1-7.9
B
C
B
C
C
C
A
A
DLeabharlann Baidu
第二题:填空题
7.10 8,17
7.11 5745
7.12随机值
7.13 0
7.14 5 7 9 11
7.15 9.000000
7.16 1
7.17 3
7.18 abc123
7.19 AGAAGAG
7.20 6385
double sum=0.0;
int i,sign=1;
for(i=1;i<=n;i++)
{
sum+=sign*1.0/i;
sign=-sign;
}
return sum;
}
void main()
{
int n;
printf("Please input a number: ");
scanf("%d",&n);
3.21100 15.81 1.89234
100TAB 15.81TAB1.89234
100↙15.81↙1.89234
注:,TAB和回车可以任意组合
三、编程题
略
第四章
一、选择题
4.1 A 4.2 A 4.3 A 4.4 D 4.5 B 4.6 B 4.7 2 4.8 1 4.9 16 4.10 C
第一章
一、选择题
1.1 D 1.2 A 1.3 B 4.4 B
二、填空题
1.5 .exe
1.6 .c .obj .exe
1.7顺序选择循环
第二章
一、选择题
2.1 C2.2 D 2.3 B2.4 D 2.5 B2.6 B 2.7 C 2.8 A 2.9 C
2.10 A 2.11 B 2.12 A 2.13 D 2.14 A 2.15 C 2.16 B 2.17 B 2.18 C
2.38 double a1=1,a2=1;
2.39存储单元
2.40 a*b/c (a*b)/c b*a/c
2.41把10赋给a
2.42 0 0 8.5 90 10 2 2.5 0 0
2.43 (1) char *p; p=&ch;
(2) char *p=&ch;
(3) p=&ch;
(4) ch=’A’; *p=’A’;
j++;
}
}
7.26
int fun(char *s)
{
int flag=0,num=0;
while(*s)
{
if(*s==' ')
flag=0;
else if(flag==0)
{
num++;
flag=1;
}
s++;
}
return num;
}
7.27
void fun(int *a,int *b)
{
int i;
scanf("%d",&m);
if(fun(m)==1)
printf("%d is a prime number!\n",m);
else printf("%d is not a prime number!\n",m);
}
7.32
#include <stdio.h>
double fun(int n)
{
for(i=0;i<11;i++)
b[i]=0;
for(i=0;i<N;i++)
{
switch(a[i]/10)
{
case 0:b[0]++;break;
case 1:b[1]++;break;
case 2:b[2]++;break;
case 3:b[3]++;break;
case 4:b[4]++;break;
4.11 C 4.12 B4.13 D
二、填空题
4.14非0 0
4.15低
4.16高
4.17高
4.18高于
4.19 (a)a==b||a<c(b)x>4||x<-4
4.20 1
4.21(a)x<=0(b) 1
4.22 322
4.23 1
4.24a:bc:t1
4.25 *#
三、编程题
略
第五章
一、选择题
case 5:b[5]++;break;
case 6:b[6]++;break;
case 7:b[7]++;break;
case 8:b[8]++;break;
case 9:b[9]++;break;
default:b[10]++;
}
}
}
7.28
void fun(int y,int b[],int *m)
(5) printf(“%c”,ch); putchar(ch);
2.44 110
2.45 (1) s=p+3;
(2) s=s-2;
(3) 50
(4) *(s+1)
(5) 2
(6) 30 40
2.46 00001111
2.47 a&0
2.48 x | 1111111100000000
2.49 ch & 01011111
{
int i,k=0;
for(i=1;i<=y;i++)
if(y%i==0&&i%2==1)
b[k++]=i;
*m=k;
}
7.29
void fun(char *a,char *p)
{
char *pp=a;
int k=0;
while(pp<p)
{
if(*pp!='*')
a[k++]=*pp;
pp++;
7.21 GFEDCB
7.22 goodgood!
7.23 XYZA
7.24 110
第三题:编程题
7.25
void fun(int *w,int p,int n)
{
int i,j=0,t;
while(j<=p)
{
t=w[0];
for(i=1;i<n;i++)
w[i-1]=w[i];
w[n-1]=t;
第三章
一、选择题
3.1 C 3.2C3.3D3.4B3.5C3.6C3.7D3.8B3.9 C
3.10D3.11A3.12B3.13 D 3.14C3.15A3.16D
二、填空题
3.17(1)-200,2500(2)i=-200,j=2500
(3)i=-200
j=2500
3.1812 0 0
3.19一条语句;
2.19 A 2.20 D 2.21 A 2.22 B 2.23 A 2.24 D 2.25 B 2.26 A 2.27 B
2.28 A 2.29 C 2.30 D 2.31 A 2.32 A
二、填空题
2.33 1 2
2.34 4.2 4.2
2.35 3.8
2.36 123.460000
2.37 int float double char
printf("The result is %lf\n",fun(n));
}
7.33
#include <stdio.h>
double fun(int m)
{
double sum=1.0;
int i;
for(i=2;i<=m;i++)
sum-=1.0/(i*i);
return sum;
}
void main()
5.1D5.2B5.3C5.4D5.5B5.6D5.7C5.8 B 5.9A
5.10B5.11 A
二、填空题
5.1254321
5.1329
5.141024
5.15-1
5.162500
5.1711
5.180918273645
5.19d=1.0 k++ k<=n
5.20t*10
5.21x>=0 x<amin
}
while(*p)
{
a[k++]=*p;
p++;
}
a[k]='\0';
}
7.30
void fun(int m,int *k,int xx[])
{
int n=0,i,j;
for(i=2;i<m;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(j<i)
xx[n++]=i;
}
*k=n;
}
7.31
#include <stdio.h>
int fun(int m)
{
int i,flag=1;
for(i=2;i<m;i++)
if(m%i==0)
{
flag=0;
break;
}
return flag;
}
void main()
{
int m;
printf("Please input a number: ");
{
int m;
printf("Please input a number: ");
scanf("%d",&m);
printf("The result is %lf\n",fun(m));
}
5.2232
三、编程题
略
第6,7章答案
第一题:选择题
7.1-7.9
B
C
B
C
C
C
A
A
DLeabharlann Baidu
第二题:填空题
7.10 8,17
7.11 5745
7.12随机值
7.13 0
7.14 5 7 9 11
7.15 9.000000
7.16 1
7.17 3
7.18 abc123
7.19 AGAAGAG
7.20 6385
double sum=0.0;
int i,sign=1;
for(i=1;i<=n;i++)
{
sum+=sign*1.0/i;
sign=-sign;
}
return sum;
}
void main()
{
int n;
printf("Please input a number: ");
scanf("%d",&n);