c语言课后答案电子科技大学出版社.docx

上传人:b****2 文档编号:2473229 上传时间:2023-05-03 格式:DOCX 页数:44 大小:24.59KB
下载 相关 举报
c语言课后答案电子科技大学出版社.docx_第1页
第1页 / 共44页
c语言课后答案电子科技大学出版社.docx_第2页
第2页 / 共44页
c语言课后答案电子科技大学出版社.docx_第3页
第3页 / 共44页
c语言课后答案电子科技大学出版社.docx_第4页
第4页 / 共44页
c语言课后答案电子科技大学出版社.docx_第5页
第5页 / 共44页
c语言课后答案电子科技大学出版社.docx_第6页
第6页 / 共44页
c语言课后答案电子科技大学出版社.docx_第7页
第7页 / 共44页
c语言课后答案电子科技大学出版社.docx_第8页
第8页 / 共44页
c语言课后答案电子科技大学出版社.docx_第9页
第9页 / 共44页
c语言课后答案电子科技大学出版社.docx_第10页
第10页 / 共44页
c语言课后答案电子科技大学出版社.docx_第11页
第11页 / 共44页
c语言课后答案电子科技大学出版社.docx_第12页
第12页 / 共44页
c语言课后答案电子科技大学出版社.docx_第13页
第13页 / 共44页
c语言课后答案电子科技大学出版社.docx_第14页
第14页 / 共44页
c语言课后答案电子科技大学出版社.docx_第15页
第15页 / 共44页
c语言课后答案电子科技大学出版社.docx_第16页
第16页 / 共44页
c语言课后答案电子科技大学出版社.docx_第17页
第17页 / 共44页
c语言课后答案电子科技大学出版社.docx_第18页
第18页 / 共44页
c语言课后答案电子科技大学出版社.docx_第19页
第19页 / 共44页
c语言课后答案电子科技大学出版社.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言课后答案电子科技大学出版社.docx

《c语言课后答案电子科技大学出版社.docx》由会员分享,可在线阅读,更多相关《c语言课后答案电子科技大学出版社.docx(44页珍藏版)》请在冰点文库上搜索。

c语言课后答案电子科技大学出版社.docx

c语言课后答案电子科技大学出版社

c语言程序设计教程答案

第一章C语言概述

一、简答题

1.

(1)语言简洁、紧凑,使用方便、灵活;

(2)运算符丰富;(3)具有丰富的数据类型;(4)具有结构化的控制语句;(5)语法限制不太严格,程序设计自由度大;(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接访问硬件;(7)生成目标代码质量高,程序执行效率高;(8)用C语言写的程序可移植性好,基本上不作修改就能用于各种型号的计算机和各种操作系统。

2.顺序结构,分支结构,循环结构

3.所谓算法就是为解决一个问题而采取的方法和步骤。

算法的特性:

有穷性、确定性、输入、输出、可行性。

表示算法的方式:

(1)用自然语言表示;

(2)用流程图表示;(3)用N—S流程图表示;(4)用伪代码表示;(5)用计算机语言表示。

二、算法

1.瓶子A里盛有醋

瓶子B里盛有酱油

有一个空瓶C

将A中的醋倒入C

将B中的酱油倒入A

将C中的醋倒入B

2.输入一个数放在a中

max=a

以下步骤重复9次:

输入一个数放在a中

如果a>max,max=a

打印max的值

3.如果a

temp=a

a=b

b=temp

如果c>a

temp=a

a=c

c=temp

否则

如果c>b

temp=b

b=c

c=temp

打印a,b,c的值

4.i=1

sum=0

以下程序循环100遍:

sum=sum+i

i=i+1

打印sum的值

5.如果(n除以3的余数为0并且n除以5的余数为0)

n能够同时被3和5整除

否则

n不能够同时被3和5整除

6.i=101

以下语句循环50遍:

j=2

flag=1

当j<(i除以2的整数部分)时循环以下语句:

如果i除以j的余数为零

flag=0

退出该循环

如果flag==1

打印i的值

i=i+2

7.如果m

temp=m

m=n

n=temp

i=n

做以下循环,直到m,n能够被i整除:

如果m能够被i整除并且n能够被i整除

i即是m和n的最大公约数

跳出循环

否则

i=i-1

打印i的值

8.data=b*b—4*a*c

如果data>0

否则如果data=0

x1=x2=—b/2

否则

无实数解

三、编程题

1.main()

{

printf(“##############################\n”);

printf(“Howdoyoudo?

\n”);

printf(“##############################\n”);

}

2.main()

{

inta,b,c;

scanf(“%d%d%d”,&a,&b,&c);

printf(“sum=%d”,a+b+c);

}

第二章数据类型与表达式

一、单项选择题

1.B2.C3.A4.A5.D6.B7.A8.C9.D

二、写出下列程序的运行结果

1.

aabbccabc

AN

2.

ab

9798

3.9,11,9,10

4.

a=2,b=3,c=2

5.

s1=2.500000

s2=3

三、编程题

main()

{

charc1='c',c2='h',c3='i',c4='n',c5='a';

c1=c1+4;

c2=c2+4;

c3=c3+4;

c4=c4+4;

c5=c5+4;

printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);

}

第三章顺序程序设计

选择题

1)B2)D3)D4)A5)A6)B7)B8)A9)D10)C11)D12)A

填空题

1)b2)2613)2521374)abc5)5.0,4,c=36)3

编程题

#definePI3.1415926

main()

{

floath,r,l,sv,sz;

printf(“请输入圆的半径r,圆柱高h:

\n”);

scanf(“%f,%f”,&r,&h);

l=2*PI*r;

s=PI*r*r;

sv=3.0/4.0*PI*r*r*r;

sz=PI*r*r*h;

printf(“圆周长为:

l=%6.2f,圆面积为:

s=%6.2f\n”,l,s);

printf(“求体积为:

sv=%6.2f,圆柱体积为:

sz=%6.2f\n”,sv,sz);

}

2、

main()

{

floatc,f;

printf(“请输入一个华氏温度:

\n”);

scanf(“%f”,&f);

c=5.0/9.0*(f-32);

printf(“摄氏温度为:

%6.2f\n”,c);

}

第四章循环程序设计

一、选择题

1.D2.D3.D4.C5.D6.A7.B8.B9.A12.A13.B14.C15.C16.A17.A18.B19.D20.D21.A

二、填空题

1.585858

2.0

3.18

4.8921

5.20,0 

6.6 

7.1,3,2 

8.Year%400==0

year%100!

=0

count++

三、编程题

1.

main()

{

longa;

scanf(“%ld”,&a);

if(a>=10000&&a<=99999)

printf(“这是个五位数”);

elseif(a>=1000&&a<=9999)

printf(“这是个四位数”);

elseif(a>=100&&a<=999)

printf(“这是个三位数”);

elseif(a>=10&&a<=99)

printf(“这是个二位数”);

elseif(a>=0&&a<=9)

printf(“这是个一位数”);

else

printf(“输入错误”);

}

3.

main()

{

inta;

intg,s,b;//个位、十位、百位

printf("水仙花数有:

\n");

for(a=100;i<=999;a++)

{g=a%10;

s=a/10%10;

b=a/100;

if(a==g*g*g+s*s*s+b*b*b)

printf("%d",a);

}

printf("\n");

}

4、

main()

{inti,n;

printf("inputn:

");

scanf("%d",&n);

printf("\n%d=",n);

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

{while(i!

=n)

if(n%i==0)

{printf("%d*",i);n/=i;}

elsebreak;

}

printf("%d\n",n);

}

5、

#include“stdio.h”

main()

{

charc;

intw,x,y,z;

w=x=y=z=0;

while((c=getchar())!

=’\n’)

{

if((c>’a’&&c<’z’)||(c>’A’&&c<’Z’))

w++;

elseif(c==’’)

x++;

elseif(c>’0’&&c<’9’)

y++;

elsez++;

}

printf(“英文字母个数:

%d\n”,w);

printf(“空格个数:

%d\n”,x);

printf(“数字个数:

%d\n”,y);

printf(“其他字母个数:

%d\n”,z);

}

6、main()

{

floath=100,t=100;

intj;

for(j=1;j<10;j++)

{

t=t/2;

h=h+t*2;

}

printf(“共经过:

%f米\n”,h);

printf(“第十次反弹%f米\n”,t/2);

}

第五章数组

一、单项选择题

1.B2.A3.C4.C5.D6.B7.C8.B9.C10.B

二、写出下列程序的运行结果

1.S=368

2.

*****

*****

*****

*****

*****

3.S1=18

S2=10

4.!

margorP

5.

数字0的出现次数是:

3

数字1的出现次数是:

2

数字2的出现次数是:

2

数字3的出现次数是:

2

数字4的出现次数是:

0

数字5的出现次数是:

1

数字6的出现次数是:

1

数字7的出现次数是:

1

数字8的出现次数是:

1

数字9的出现次数是:

1

三、编程题

1.#include"stdio.h"

main()

{inta[11];

inti,j,t;

printf("input10number:

\n");

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

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

printf("\n");

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

for(j=1;j<=10-i;j++)

if(a[j]

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

printf("thesortednumberis:

\n");

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

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

}

2.#include"stdio.h"

main()

{inta[11],i,b;

printf("imput10sortednumber:

\n");

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

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

printf("inputaninteger:

\n");

scanf("%d",&b);

for(i=9;i>=0&&a[i]>b;i--)

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

a[i+1]=b;

printf("sortednumbers:

\n");

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

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

}

3.#include"stdio.h"

main()

{inta[5],i,j,t;

printf("input5integer:

\n");

for(i=0;i<5;i++)/*输入5个整数*/

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

for(i=0,j=4;i

{t=a[i];a[i]=a[j];a[j]=t;}

for(i=0;i<5;i++)/*逆序存放后重新输出*/

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

}

4.#include"stdio.h"

main()

{inti,j,a[10][10]={{1},{1,1}};

for(i=2;i<10;i++)/*给二维数组每个元素赋值*/

{a[i][0]=1;

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

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

}

for(i=0;i<10;i++)/*输出二维数组*/

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

printf("%-5d",a[i][j]);

printf("\n");

}

}

5.#include"stdio.h"

main()

{inta[3][4],i,j,max,row,col;

printf("input3*4matrix:

\n");

for(i=0;i<3;i++)/*输入3*4矩阵*/

for(j=0;j<4;j++)

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

max=a[0][0];row=0;col=0;

for(i=0;i<3;i++)/*寻找矩阵中的最大值及其行列号*/

for(j=0;j<4;j++)

if(max

{max=a[i][j];row=i,col=j;}

printf("\n数组中最大的数是%d,其行号是%d,列号是%d\n",max,row,col);

}

6.#defineN3

#defineM4

#include"stdio.h"

main()

{inta[N][M],i,j,k,max,row,col;

printf("input%d*%dmatrix:

\n",N,M);

for(i=0;i

for(j=0;j

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

for(i=0;i

{max=a[i][0];row=i;col=0;

for(j=1;j

if(max

{max=a[i][j];col=j;}

for(k=0;k

if(a[k][col]

break;

if(k==N)/*得到鞍点*/

{printf("thepointis%d,row=%d,col=%d\n",max,row,col);break;}

}

if(i==N)/*没有鞍点*/

printf("nopoint\n");

}

7.#include"stdio.h"

main()

{intnum=0,word=0;

/*word=0表示未出现单词,如出现单词就置word为1.num用来统计单词个数*/

charc;

printf("pleaseinputastring:

\n");

while((c=getchar())!

='\n')

if(c=='')

word=0;

elseif(word==0)

{word=1;num++;}

printf("Thereare%dwordsintheline\n",num);

}

8.#include"stdio.h"

main()

{inti,j,uppn,lown,dign,span,othn;

/*uppn,lown,dign,span,othn分别存放英文大写字母、小写字母、数字、空格和其他字符的个数*/

chartext[3][80];

uppn=lown=dign=span=othn=0;

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

{gets(text[i]);

for(j=0;j<80&&text[i][j]!

='\0';j++)

{if(text[i][j]>='A'&&text[i][j]<='Z')

uppn++;

elseif(text[i][j]>='a'&&text[i][j]<='z')

lown++;

elseif(text[i][j]>='0'&&text[i][j]<='9')

dign++;

elseif(text[i][j]=='')

span++;

else

othn++;

}

}

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

printf("%s\n",text[i]);

printf("uppn=%d\n",uppn);

printf("lown=%d\n",lown);

printf("dign=%d\n",dign);

printf("span=%d\n",span);

printf("othn=%d\n",othn);

}

9.#include"stdio.h"

main()

{inti,j;

charstr1[20],str2[20];

printf("inputtwostrings:

\n");

gets(str1);

gets(str2);

j=strlen(str1);/*求字符串1的长度*/

for(i=0;str2[i]!

='\0';i++,j++)/*字符串合并*/

str1[j]=str2[i];

str1[j]='\0';/*加上字符串结束标志*/

puts(str1);

}

10.#include"stdio.h"

main()

{inti,n;

charstr1[20],str2[20];

printf("inputtwostrings:

(nomorethan20characters)\n");

gets(str1);gets(str2);

n=strlen(str1)

strlen(str1):

strlen(str2);/*n中存放较短字符串的长度*/

for(i=0;i

printf("%d\n",str1[i]-str2[i]);

}

第六章函数与编译预处理

一、单项选择题

1.C2.B3.B4.B5.A6.B7.A8.C9.D10.A

二、写出下列程序的运行结果

1.9

2.4,B

8,B

3.-4.000000

4.a=6,b=5

5.48

三、编程题

1.main()

{intprime(intn);

intn;

printf("inputn(n>0):

\n");

scanf("%d",&n);

if(prime(n))

printf("%disasushu\n",n);

elseprintf("%disnotasushu\n",n);

}

intprime(intn)

{intflag=1,i;

for(i=2;i<=n/2&&flag==1;i++)

if(n%i==0)flag=0;

return(flag);

}

2.

#defineN3

convert(intarray[3][3])

{inti,j,t;

for(i=0;i

for(j=i+1;j

{t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;

}

}

main()

{inti,j;

inta[N][N];

printf("inputa:

\n");

for(i=0;i

for(j=0;j

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

printf("Arraya:

\n");

for(i=0;i

{for(j=0;j

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

printf("\n");

}

convert(a);

printf("adezhuanzhiis:

\n");

for(i=0;i

{for(j=0;j

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

printf("\n");

}

}

3.#include

#include

main()

{charstr[100];

printf("inputastring:

\n");

gets(str);

inverse(str);

printf("thereversedstringis:

%s\n",str);

}

inverse(charstr[])

{

chart;

inti,j;

for(i=0,j=strlen(str)-1;i

{

t=str[i];

str[i]=str[j];

str[j]=t;

}

}

4.#include

concat(charstr1[],charstr2[])

{inti=0,j;

while(str1[i]!

='\0')

i++;

for(j=0;str2[j]!

='\0';i++,j++)

str1[i]=str2[j];

str1[i]='\0';

}

main()

{

charstr1[100],str2[100];

gets(str1);gets(str2);

concat(str1,str2);

puts(str1);

}

5.main()

{charstr[80];

printf("inputastring(4geshuzizifu):

\n");

scanf("%s",str);

insert(str);

printf("resultis:

\n%s\n",str);

}

insert(charstr[])

{

inti;

for(i=strlen(str);i>0;i--)

{

str[2*i]=str[i];

str[2*i-1]='';

}

}

6.#include"stdio.h"

inti,ndight,nwhite,nletter,nother;

count(charstr[])

{

ndight=nwhite=nletter=nother=0;

for(i=0;str[i]!

='\0';i++)

if(str[i]>='0'&&str[i]<='9')

ndight++;

elseif((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))

nletter++;

elseif(str[i]=='')

nwhite++;

elsenother++;

}

main()

{

chartext[80];

printf("inputastring:

\n");

gets(text);

count(text);

printf("ndight=%d,nletter=%d,nwhite=%d,nother=%d\n",ndight,nletter,nwhite,nother);

}

7.#defineN10

#include

sort(charstr[])

{inti,j;

chart;

for(i=1;i

for(j=0;j

if(str[j]>str[j+1])

{t=str[j];str[j]=str[j+1];str[j+1]=t;}

}

main()

{

charstr[N];

inti;

printf("Input10gezifu:

\n");

gets(str);

sort(str);

printf("Thesortedresult:

\n");

for(i=0;i

printf("%c",str[i]);

}

8.这题较复杂

#include

#include

#defineN10

voidinput_e(intnum[],charname[N][8])

{inti;

for(i=0;i

{printf("

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2