《C语言程序设计案例教程》(第2版)习题答案 北邮

《C语言程序设计案例教程》(第2版)习题答案 北邮


2024年1月13日发(作者:)

模块1习题答案

一、选择题

1.D 2.A 3.B 4.C 5.C 6.C

二、模仿编程

1.参考程序:

#include "stdio.h"

main()

{

float area,r=2.5,pi=3.1415926;

area=pi*r*r;

printf("area=%fn",area);

}

2.略。

模块2习题答案

一、选择题

1.B 2.A 3.D 4.A 5.D 6.A 7.B 8.A 9.C 10.D

二、编程题

1.参考程序:

#include "stdio.h"

main()

{

float area,s,r=2.5,pi=3.1415926;

area=pi*r*r;

s=2*pi*r;

printf("area=%fn s=%fn",area,s);

}

2.参考程序:

#include

#include

main()

{

int a;

int b;

int c,d;

a=1500,b=350;

c=a/b;//商数

d=a%b;//余数

printf("商数为: %dn",c);

printf("余数为:%dn",d);

return 0;

}

3.参考程序:

#include

#include

main()

{

float a,b,x,y,z;

a=2;

b=3;

x=3.5;

y=2.6;

z=(a+b)/2+sqrt(a)-(y-x);

printf("%f",z);

}

4.略。

模块3习题答案

一、选择题

1.A 2.C 3.B 4.D 5.A 6.C 7.B 8.D 9.B 10.D

二、编程题

1.参考程序:

#include

int main()

{

int hours;

float wage;

float salary;

scanf("%d%f",&hours,&wage);

salary=hours*wage*(1-0.1);

printf("the salary should be %fn",salary);

}

2.参考程序:

#include

int main()

{

float f,c;

printf("输入华氏温度:n");

scanf("%f",&f);

c=5*(f-32)/9;

printf("对应的摄氏温度是:%5.2fn",c);

}

3.参考程序:

#include

#include

int main()

{

int num,a,b,c;

//输入三位数

printf("请输入一个三位整数:n");

scanf("%d",&num);

//输出各位数

a=num/100;

b=(num-a*100)/10;

c=(num-a*100-b*10);

}

printf("千位:%d,十位:%d,个位:%dn",a,b,c);

return 0;

模块4习题答案

一、选择题

1.B 2.B 3.D 4.C 5.A 6.C 7.C 8.C 9.A 10.A

二、编程题

1.参考程序:

#include

int main()

{

char c;

c=getchar();//读入一个字符,存储在c中。

if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U')//判断是元音。

printf("%c 是元音字母n",c);//输出结果。

else //不是元音。

printf("%c 不是元音字母n",c);//输出结果。

return 0;

}

2.参考程序:

#include

int main(){

int num;

printf("请输入整数: ");

scanf("%d", &num);

if(num%2==0)

printf("n%d是偶数", num);

else

printf("n%d是奇数", num);

return 0;

}

3.答案略。

4.参考程序:

#include

int main()

{

int c,s;

float p,w,d,f;

scanf("%f %f %d",&p,&w,&s);

if(s >= 3000) c=12;

else c=s/250;

switch(c)

{

case 0:d=0; break;

case 1:d=2; break;

case 2:d=5; break;

case 3:d=8; break;

case 4:d=10; break;

case 5:d=15; break;

}

f=p*w*s*(1-d/100);

printf("freight =%15.4fn",f);

}

5.参考程序:

#include

#include

main()

{

int Year,Month,Day;

cout<<"Please enter the current date(年月以空格分隔):";

cin>>Year>>Month;

while(Month<=0||Month>12)

{

cout<<"输入时间有误,请重新输入:";

cin >>Year>>Month;

}

switch(Month)

{

case 4:

case 6:

case 8:

case 9:

case 11:

Day=30;

break;

case 2:

}

if(Year%400==0||Year%4==0&&Year%100!=0)

Day=29;

else

Day=28;

break;

default: Day=31;

}

cout <<"该月天数为:"<

6.答案略。

模块5习题答案

一、选择题

1.D 2.C 3.D 4.C 5.C 6.B 7.B 8.D 9.A 10.A

二、编程题

1.参考程序:

#include

main()

{

int i=1,sum=0,k=1;

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

{

if(k%2==1)

sum=sum+i;

else

sum=sum-i;

k++;

}

printf("求和为:%d",sum);

}

2.参考程序:

#include

#include

main()

{

int i,t;

int count=0;

int bflag=0; /* break标记 */

for (i=100;i<=200;i++)

{

bflag=0;

for(t=2;t<=sqrt(i);t++)

{

if(i%t==0)

{

bflag=1;

break;

}

}

if(!bflag)

{

printf("%4d",i);

++count;

if(count%10==0)

{

count=0;

printf("n");

}

}

}

printf("n");

}

3.答案略。

4.答案略。

5.参考程序如下:

#include

#include

int main()

{

int a,b,c;

int count = 0;

printf("共有以下借法:n");

for(a=1;a<=5;a++) //a,b,c,分别从一号书借到五号书

{

for(b=1;b<=5;b++)

{

for(c=1;c<=5;c++)

{

if(0!=(a-b)*(b-c)*(c-a))

{

count++;

printf("%d: %d %d %dt",count,a,b,c);

if(0==count%3)

{

printf("n");

}

}

}

}

}

return 0;

}

6.参考程序:

#include

int a[25];

int main()

{

a[0] = a[1] = 1;

for(int i=2;i<25;i++)

a[i] = a[i-1] + a[i-2];

for(int i=0;i<25;i++)

{

printf("%3d ", a[i]);

if((i+1)%5 == 0) printf("n");

}

printf("n");

return 0;

}

模块6习题答案

一、选择题

1.B 2.A 3.D 4.B 5.B 6.D 7.C 8.A

二、编程题(略)

1.参考程序:

#include

int main()

{

double num[10];

int i;

double sum=0;

}

printf("请连续输入十个实数:n");

for(i=0;i<10;i++)

{

scanf("%lf",&num[i]);

}

for(i=0;i<10;i++)

{

sum+=num[i];

printf("第%d个实数的和为:%lfn",i+1,sum) ;

}

return 0;

2.参考程序:

#include

#include

main()

{

char a[100];

int i,j;

gets(a);

i=0;

j=strlen(a)-1;

while(i

{

if(a[i]==a[j])

{

i++;

j--;

}

else

break;

}

if(i>=j)

printf("YES.n");

else

printf("NO.n");

}

3.参考程序:

#include

void dec2bin(int n)

{

if(n>1)

dec2bin(n/2);

printf("%d",n%2);}

int main()

{

int x;

scanf("%d",&x);

dec2bin(x);

printf("n");

return 0;

}

4.答案略。

5.答案略。

模块7习题答案

一、选择题

1.D 2.C 3.B 4.C 5.C 6.A 7.D 8.A 10.C

二、编程题

1.参考程序:

#include

int is_even(int n)

{

return !(n&0x1);

}

int main()

{

int n;

scanf("%d",&n);

if(is_even(n))printf("偶数n");

else printf("奇数n");

return 0;

}

2.参考程序:

#include

void fun(int *a, int l, int *b, int *n)

{

int i;

*n=0;

for(i = 0; i < l; i ++)

if(a[i]%2==1) b[(*n)++] = a[i];

}

int main()

{

int a[10] = {1,2,3,4,5,6,7,8,9,19};

int b[10];

int n=0,i;

fun(a,10,b,&n);

for(i = 0; i < n; i ++)

printf("%d ", b[i]);

return 0;

}

3.参考答案:

#include

double mul(int n)

{

int i;

double s=1.0;

for(i=1;i<=n;i++)

s*=i;

return s;

}

int main()

{

printf("c=6!+10!+22!=%gn",mul(6)+mul(10)+mul(22));

}

4.参考答案:

#include

#define MAX 1000

int isPrime(int n){ /*判断素数函数*/

int i;

int flag=1;

for(i=2;i

if (n%i==0){

flag=0;

break;

}

return flag;

}

int main(void){

int i;

printf("1000以内的所有素数:n");

for (i=2;i

if(isPrime(i))

printf("%dt",i);

}

putchar('n');

return 0;

}

5.参考程序:

#include

#include

main ()

{

char c[81],a;

int i,n;

gets(c);

n=strlen(c);

for(i=0;i

{

a=c[i];

c[i]=c[n-i-1];

c[n-i-1]=a;

}

puts(c);

return 0;

}

6.参考程序:

#include

int Sum(int n){

int sum=0;

if(n==0)

return 0;

return n+Sum(n-1);

}

int main(){

printf("%dn",Sum(100));

return 0;

}

7.答案略。

模块8习题答案

一、选择题

1.B 2.B 3.C 4.D 5.D 6.B 7.D 8.C 9.A 10.D

二、编程题

1.参考程序:

#include

void fun(float a,float b,float *c,float *d)

{

*c=a+b;

*d=a-b;

}

main()

{

float x,y,h,c;

scanf("%f%f",&x,&y);

fun(x,y,&h,&c);

printf("%f+%f=%fn%f-%f=%fn",x,y,h,x,y,c);

}

2.参考程序:

#include

#define N 10

float average(int *arr,int n)

{

int sum=0,i;

for(i=0;i

sum+=*arr;

return (1.0*sum)/n;

}

int main()

{

int a[N],i;

for(i=0;i

scanf("%d",&a[i]);

printf("整型数组的平均值为: %.2fn",average(a,N));

return 0;

}

3.答案略。

4.答案略。

模块9习题答案

一、选择题

1.C 2.B 3.D 4.C 5.A 6.C 7.A 8.B

二、编程题(略)

模块10习题答案

一、选择题

1.C 2.A 3.A 4.C 5.B 6. B

二、编程题(略)


发布者:admin,转转请注明出处:http://www.yc00.com/web/1705079611a1391699.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信