C语言程序设计-面向新工科 课后题答案_第1页
C语言程序设计-面向新工科 课后题答案_第2页
C语言程序设计-面向新工科 课后题答案_第3页
C语言程序设计-面向新工科 课后题答案_第4页
C语言程序设计-面向新工科 课后题答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言课后题答案

第一章

1.C语言程序是由函数构成的

2.C语言程序区分大小写;

添加注释:块注释/*注释内容*/行注释:〃注释内容

C语言语句结束标志是

3.合法标识符:A123、_A123>」23、If、FOR

4.在一个C语言程序中,有且只有一个main函数

5.略

第二章

1.(1)D(2)A

2.(1)0(2)1(3)3(4)28(5)1(6)0(7)7,7,17

3.(1)20(2)8(3)30(4)0(5)0(6)0

4.(1)3.14*r*r(2)1.0/2*g*t*t+v0*t+s0(3)(-b+sqrt(b*b-4*a*c))/(2*a)

(4)5.0/9*(f—32)

第三章

1.BA

2.D

3.D

4.A

5.B

6.C

7.B

8.B

9.程序

#include<stdio.h>

main()

(

charc1;

scanf&cl);

printf(4tprev=%c,next=%c,\cl-1,cl+1);

}

10.

#include<stdio.h>

^definePI3.1415

main()

(

floatr,s,v;

scanfC4%r,&r);

s=4*PI*r*r;

v=4.0/3*PI*r*r*r;

printf(us=%.2f,v=%.2f\n”,s,v);

)

第四章

l.B2.D3.B4.C5.C6.B7.B8.A

9.源程序

#include<stdio.h>

main()

(

inta,b,c;

scanf(〃%d,%d〃,&a,&b);

if(a%b!=O)

(

printf(〃%d/%d=%d余数为%d\n”,a,b,a/b,a%b);

)

else

(

printf("%d/%d=%d\n”,a,b,a/b);

)

}

10.源程序

#include<stdio.h>

main()

(

intx;

scanf(〃%d〃,&x);

if(x%3=0&&x%7!=0)

(

printf(z/x符合要求\n〃);

)

else

(

printfCx不符合要求\n〃);

)

)

11.源程序

#include<stdio.h>

main()

(

inty,m;

scanf(〃%d,%d",&y,&m);

switch(m)

(

case1:

case3:

case5:

case7:

case8:

case10:

case12:

printf(,z%d月有31天\n〃,m);

break;

case4:

case6:

case9:

case11:

printf(〃%d月有30天m);

break;

case2:

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

(

printf(,z%d年2月有29天\n”,y);

)

else

(

printf(,z%d年2月有28天\n〃,y);

)

break;

default:

printf(〃月份不正确\n〃);

)

}

第五章

一选择题

l.C2.A3.C4.D5.D6.C7.B8.B

二、编程题

L源程序

^include<stdio.h>

ttinclude<math.h>

main0

(

intm,n,a,b,c,d;

printf(,zPleaseentertwointeger:");

scanf(〃%d%d”,&m,&n);

d=m*n;

if(m<n)

(

a=n;

n=m;

m=a;

for(b=m%n;b!=0;b=m%n)

m=n;

n=b;

}

c=d/n;

printf(〃最大公约数为%d\n〃,n);

printf("最小公倍数为%d\n”,c);

)

2.源程序

#include<stdio.h>

main()

(

〃输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

charch;

intchar_num=0,kongge_num=0,int_num=0,other_num=0;

while((ch=getchar())!='\n')〃回车键结束输入,并且回车符不计入

(

if((ch>=,A*&&ch<=,Z')||(ch<=,z'&&ch>='a'))

(

char_num++;

)

elseif(ch==,')

(

kongge_num++;

)

elseif(ch>='O'&&ch<='9')

(

int_num++;

)

else

(

other_num++;

)

)

printff字母=%d,空格=%d,数字=刎,其它

%d\n〃,char_num,kongge_num,intnum,other_num

)

3.源程序

#include"stdio.h"

intmain()

inti,j,k,sum;

sum=0,k=l;

for(j=l;j<=20;j++)

(

k=l;

for(i=l;i<=j;i++){

k=k*i;

)

sum=sum+k;

)

printf(z,Theresultis:%d\n〃,sum);

)

4.源程序

ttinclude“stdio.h〃

main()

(

inta,n,count=l;

longintsn=0,tn=0;

printf(,zpleaseinputaandn\n〃);

scanf(〃%d,%d〃,&a,&n);

printf(,za=%d,n=%d\n,z,a,n);

while(count<=n)

(

tn=tn+a;

sn=sn+tn;

a=a*10;

++count;

)

printf("a+aa+…=%ld\nz/,sn);

}

第六章

一选择题

1.A2.B3.D4.C5.D6.C7.B8.A

二编程题

1.源程序

#include"stdio.h"

intIsPrime(intn)

(

inti;

for(i=2;i<n/2;i++)

(

if(n%i==0)

return0;

)

return1;

}

voidmain()

(

intn,i;

scanf&n);

for(i=2;i<=n/2;++i)

(

if(IsPrime(i)&&IsPrime(n-i))

(

printf("%d=%d+%d\n”,n,i,n-i);

)

)

)

2.源程序

#include<stdio.h>

intfacsum(intn)

(

intsum=0,i=l;

for(;i<n;i++)

if(!(n%i))

sum+=i;

returnsum;

)

voidmain()

(

intn=2;

printf(,z2000以内的所有亲密数对:\n〃);

for(;n<=2000;n++)

if(!(n-facsum(facsum(n))))

printfn);

)

第七章

一选择题

l.C2.D3.B4.C5.D6.B

二、编程题

L源程序

^include<stdio.h>

#defineN10

voidmain()

inti;

floata[N],m;

for(i=0;KN;i++)〃初始化数组

scanf(z/%f,z,;

m=a[0];//m赋值为数组首元素,作搜索初值

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

if(a[i]>m)〃依次比较,将最大值赋给m

m=a[i];

printf("%f\n〃,m);

)

2.源程序

#include<stdio.h>

intmain()

(

inti,j,a[10][10];

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

for(j=l;j<=9;j++)

(

a[i][i]=l;

)

for(i=3;i<=9;i++)

for(j=2;j<i;j++)

a[i][j]=a[i-l][j-l]+a[i-l][j];

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

(

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

printf(/z%5d,z,a[i][j]);

printf(〃\n〃);

3.源程序

#include<stdio.h>

intmain()

(

chars[100];

intisFirst=l;

inti=0;

printf(〃请输入一个字符串:〃);

gets(s);

while(s[i]!='\0')

(

if(s[i]!=''&&isFirst==l)

(

if(s[i]>=,a'&&s[i]<=,z')

{

s[i]-=32;

)

isFirst=O;

}

elseif(s[i]==,')

(

isFirst=l;

}

i++;

)

puts(s);

)

第八章

一、选择题

l.D2.A3.C4.B5.C6.D

二、编程题

1.源程序

#include<stdio.h>

voidmain()

(

inta,b,c,x;

int*pa,*pb,*pc;

pa=&a;〃这里的指针前的星号去掉就行了

pb=&b;//

pc=&c;〃三个都一样

printf(〃请输入3个整数\n〃);

scanf(//%d%d%d,/,pa,pb,pc);

if(*pa>*pb)

(

x=*pa;

*pa=*pb;

*pb=x;

)

if(*pa>*pc)

(

x=*pa;

*pa=*pc;

*pc=X;

)

if(*pb>*pc)

(

x二*pb;

*pb=*pc;

*pc=x;

)

printf(〃这3个数由小到大的排列顺序为%d,%d,%d〃,*pa,*pb,*pc);

)

2.源程序

#include<stdio.h>

voidmain()

(

charstr[80];

char*ps;

longm=0;

gets(str);

ps=str;

while(*ps!=,\0*)

(

if(*ps>='O'&&*ps<=,9')

(

m=m*10+(*ps)-,O';

}

ps++;//ps后移

}

printf("%ld\n”,m);

)

3.源程序

#include<stdio.h>

intcomp(char*sl,char*s2)

(

while(*sl!='\0'||*s2!='\0')

(

if(*sl>*s2)

(

return1;

)

elseif(*sl<*s2)

return-1;

sl++;

s2++;

)

return0;

)

voidmain()

(

charsi[80],s2[80];

intk;

gets(si);

gets(s2);

k=comp(si,s2);

if(k==l)

(

printf(,,sl>s2\n,z);

)

elseif(k==0)

(

printf(〃sl=s2\n");

)

else

(

printf(〃sl<s2\n〃);

)

)

4.源程序

#include<stdio.h>

#include<string.h>

voidinsert(char*sl,char*s2,intn)

{

intnl=strlen(sl);

inti;

chart[100],*s;

s=t;

if(n>nl||n<0)

(

printf(〃位置n错误!\n〃);

return;

)

for(i=0;*(sl+n+i)!='\0';i++)

*s=*(sl+n+i);

s++;

)

*s=''0';

for(i=n;*s2!='\0';i++)

(

*(sl+i)=*s2++;

)

s=t;

for(;*s!='\0';i++)

(

*(sl+i)=*s++;

)

*(sl+i)='\0';

)

voidmain()

(

charsi[80],s2[80];

intk;

gets(si);

gets(s2);

scanf&k);

insert(si,s2,k);

puts(si);

)

第九章

一、选择题

1.A2.A3.B

二、编程题

1.略,参见9.6链表建立、遍历操作

2.略,参见9.6链表节点插入、删除操作

第十章

一、选择题

1.B2.A3.B4.B

二、编程题

#include<stdio.h>

#include<string.h>

voidmain()

chars[100];

chart[100];

charpass;

inti;

printfC'Pleaseinputastring:");

gets(s);

printfC'Pleaseinputnumber:");

scanf(〃%d〃,&pass);

for(i=0;s[i]!='\0';i++){

t[i]=s[i]-pass;

}

t[i]二'\0';

puts("Encryptedstring:");

puts(t);

printf("Pleaseinputnumber:");

scanf(〃%d〃,&pass);

for(i=0;t[i]!='\0';i++){

s[i]=t[i]-pass;

)

puts(''Decryptedstring:");

puts(s);

第十一章

一、选择题

l.B2.B3.C4.D

二、编程题

1.源程序

#include<stdio.h>

#include<stdlib.h>

voidmain()

FILE*fpl,*fp2,*fp3;

charfilel[100],file2[100],file3[100];

printf(〃请输入文件1:〃);

gets(filel);

printf(〃请输入文件2:〃);

gets(file2);

printf(〃请输入文件3:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论