《C语言程序设计》课后习题答案第四版谭浩强.docx

上传人:b****0 文档编号:9464140 上传时间:2023-05-19 格式:DOCX 页数:109 大小:34KB
下载 相关 举报
《C语言程序设计》课后习题答案第四版谭浩强.docx_第1页
第1页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第2页
第2页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第3页
第3页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第4页
第4页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第5页
第5页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第6页
第6页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第7页
第7页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第8页
第8页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第9页
第9页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第10页
第10页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第11页
第11页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第12页
第12页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第13页
第13页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第14页
第14页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第15页
第15页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第16页
第16页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第17页
第17页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第18页
第18页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第19页
第19页 / 共109页
《C语言程序设计》课后习题答案第四版谭浩强.docx_第20页
第20页 / 共109页
亲,该文档总共109页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《C语言程序设计》课后习题答案第四版谭浩强.docx

《《C语言程序设计》课后习题答案第四版谭浩强.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课后习题答案第四版谭浩强.docx(109页珍藏版)》请在冰点文库上搜索。

《C语言程序设计》课后习题答案第四版谭浩强.docx

《C语言程序设计》课后习题答案第四版谭浩强

第1章程序设计和C语言1

什么是计算机程序1

什么是计算机语言1

语言的发展及其特点3

最简单的C语言程序5

最简单的C语言程序举例6

语言程序的结构10

运行C程序的步骤与方法12

程序设计的任务14

1-5#include<>

intmain()

{printf("**************************\n\n");

printf("VeryGood!

\n\n");

printf("**************************\n");

return0;

}

1-6#include<>

intmain()

{inta,b,c,max;

printf("pleaseinputa,b,c:

\n");

scanf("%d,%d,%d",&a,&b,&c);

max=a;

if(max

max=b;

if(max

max=c;

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

return0;

}

第2章算法——程序的灵魂16

什么是算法16

简单的算法举例17

算法的特性21

怎样表示一个算法22

用自然语言表示算法22

用流程图表示算法22

三种基本结构和改进的流程图26

用NS流程图表示算法28

用伪代码表示算法31

用计算机语言表示算法32

结构化程序设计方法34

习题36

第章最简单的C程序设计——顺序程序设计37

顺序程序设计举例37

数据的表现形式及其运算39

常量和变量39

数据类型42

整型数据44

字符型数据47

浮点型数据49

怎样确定常量的类型51

运算符和表达式52

语句57

语句的作用和分类57

最基本的语句——赋值语句59

数据的输入输出65

输入输出举例65

有关数据输入输出的概念67

用printf函数输出数据68

用scanf函数输入数据75

字符数据的输入输出78

习题82

3-1#include<>

#include<>

intmain()

{floatp,r,n;

r=;

n=10;

p=pow(1+r,n);

printf("p=%f\n",p);

return0;

}

3-2-1

#include<>

#include<>

intmain()

{floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;

p=1000;

r5=;

r3=;

r2=;

r1=;

r0=;

p1=p*((1+r5)*5);#include<>

#include<>

intmain()

{floatd=300000,p=6000,r=,m;

m=log10(p/(p-d*r))/log10(1+r);

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

return0;

}

3-4

#include<>

intmain()

{intc1,c2;

c1=197;

c2=198;

printf("c1=%c,c2=%c\n",c1,c2);

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

return0;

}

3-5

#include<>

intmain()

{inta,b;

floatx,y;

charc1,c2;

scanf("a=%db=%d",&a,&b);

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

scanf("%c%c",&c1,&c2);

printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);

return0;

}

3-6

#include<>

intmain()

{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("passworis%c%c%c%c%c\n",c1,c2,c3,c4,c5);

return0;

}

3-7

#include<>

intmain()

{floath,r,l,s,sq,vq,vz;

floatpi=;

printf("请输入圆半径r,圆柱高h∶");

scanf("%f,%f",&r,&h);#include<>

intmain()

{intx,y;

printf("输入x:

");

scanf("%d",&x);

if(x<1)/*x<1*/

{y=x;

printf("x=%3d,y=x=%d\n",x,y);

}

elseif(x<10)/*1=

{y=2*x-1;

printf("x=%d,y=2*x-1=%d\n",x,y);

}

else/*x>=10*/

{y=3*x-11;

printf("x=%d,y=3*x-11=%d\n",x,y);

}

return0;

}

4-7-1

#include<>

intmain()

{

intx,y;

printf("enterx:

");

scanf("%d",&x);

y=-1;

if(x!

=0)

if(x>0)

y=1;

else

y=0;

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

return0;

}

4-7-2

#include<>

intmain()

{

intx,y;

printf("pleaseenterx:

");

scanf("%d",&x);

y=0;

if(x>=0)

if(x>0)y=1;

elsey=-1;

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

return0;

}

4-8

#include<>

intmain()

{floatscore;

chargrade;

printf("请输入学生成绩:

");

scanf("%f",&score);

while(score>100||score<0)

{printf("\n输入有误,请重输");

scanf("%f",&score);

}

switch((int)(score/10))

{case10:

case9:

grade='A';break;

case8:

grade='B';break;

case7:

grade='C';break;

case6:

grade='D';break;

case5:

case4:

case3:

case2:

case1:

case0:

grade='E';

}

printf("成绩是%,相应的等级是%c\n",score,grade);

return0;

}

4-9

#include<>

#include<>

intmain()

{

intnum,indiv,ten,hundred,thousand,ten_thousand,place;.=%d\n",sn);

return0;

}

5-6

#include<>

intmain()

{doubles=0,t=1;

intn;

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

{

t=t*n;

s=s+t;

}

printf("1!

+2!

+...+20!

=%\n",s);

return0;

}

5-7

#include<>

intmain()

{

intn1=100,n2=50,n3=10;

doublek,s1=0,s2=0,s3=0;

for(k=1;k<=n1;k++)/*计算1到100的和*/

{s1=s1+k;}

for(k=1;k<=n2;k++)/*计算1到50各数的平方和*/

{s2=s2+k*k;}

for(k=1;k<=n3;k++)/*计算1到10的各倒数和*/

{s3=s3+1/k;}

printf("sum=%\n",s1+s2+s3);

return0;

}

5-8

#include<>

intmain()

{

inti,j,k,n;

printf("parcissusnumbersare");

for(n=100;n<1000;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%d",n);

}

printf("\n");

return0;

}

5-9-1

#defineM1000/*定义寻找范围*/

#include<>

intmain()

{

intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;

inti,a,n,s;

for(a=2;a<=M;a++)/*a是2-1000之间的整数,检查它是否完数*/

{n=0;/*n用来累计a的因子的个数*/

s=a;/*s用来存放尚未求出的因子之和,开始时等于a*/

for(i=1;i

if(a%i==0)/*如果i是a的因子*/

{n++;/*n加1,表示新找到一个因子*/

s=s-i;/*s减去已找到的因子,s的新值是尚未求出的因子之和*/

switch(n)/*将找到的因子赋给k1...k9,或k10*/

{case1:

k1=i;break;/*找出的笫1个因子赋给k1*/

case2:

k2=i;break;/*找出的笫2个因子赋给k2*/

case3:

k3=i;break;/*找出的笫3个因子赋给k3*/

case4:

k4=i;break;/*找出的笫4个因子赋给k4*/

case5:

k5=i;break;/*找出的笫5个因子赋给k5*/

case6:

k6=i;break;/*找出的笫6个因子赋给k6*/

case7:

k7=i;break;/*找出的笫7个因子赋给k7*/

case8:

k8=i;break;/*找出的笫8个因子赋给k8*/

case9:

k9=i;break;/*找出的笫9个因子赋给k9*/

case10:

k10=i;break;/*找出的笫10个因子赋给k10*/

}

}

if(s==0)

{

printf("%d,Itsfactorsare",a);

if(n>1)printf("%d,%d",k1,k2);/*n>1表示a至少有2个因子*/

if(n>2)printf(",%d",k3);/*n>2表示至少有3个因子,故应再输出一个因子*/

if(n>3)printf(",%d",k4);/*n>3表示至少有4个因子,故应再输出一个因子*/

if(n>4)printf(",%d",k5);/*以下类似*/

if(n>5)printf(",%d",k6);

if(n>6)printf(",%d",k7);

if(n>7)printf(",%d",k8);

if(n>8)printf(",%d",k9);

if(n>9)printf(",%d",k10);

printf("\n");

}

}

return0;

}

5-9-2

#include<>

intmain()

{intm,s,i;

for(m=2;m<1000;m++)

{s=0;

for(i=1;i

if((m%i)==0)s=s+i;

if(s==m)

{printf("%d,itsfactorsare",m);

for(i=1;i

if(m%i==0)printf("%d",i);

printf("\n");

}

}

return0;

}

5-10

#include<>

intmain()

{

inti,n=20;

doublea=2,b=1,s=0,t;

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

{

s=s+a/b;

t=a,

a=a+b,

b=t;

}

printf("sum=%\n",s);

return0;

}

5-11

#include<>

intmain()

{

doublesn=100,hn=sn/2;

intn;

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

{

sn=sn+2*hn;/*第n次落地时共经过的米数*/

hn=hn/2;/*第n次反跳高度*/

}

printf("第10次落地时共经过%f米\n",sn);

printf("第10次反弹%f米\n",hn);

return0;

}

5-12

#include<>

intmain()

{

intday,x1,x2;

day=9;

x2=1;

while(day>0)

{x1=(x2+1)*2;/*第1天的桃子数是第2天桃子数加1后的2倍.*/

x2=x1;

day--;

}

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

return0;

}

5-13

#include<>

#include<>

intmain()

{

floata,x0,x1;

printf("enterapositivenumber:

");

scanf("%f",&a);

x0=a/2;

x1=(x0+a/x0)/2;

do

{x0=x1;

x1=(x0+a/x0)/2;

}while(fabs(x0-x1)>=1e-5);

printf("Thesquarerootof%is%\n",a,x1);

return0;

}

5-14

#include<>

#include<>

intmain()

{doublex1,x0,f,f1;

x1=;

do

{x0=x1;

f=((2*x0-4)*x0+3)*x0-6;

f1=(6*x0-8)*x0+3;

x1=x0-f/f1;

}while(fabs(x1-x0)>=1e-5);

printf("Therootofequationis%\n",x1);

return0;

}

5-15

#include<>

#include<>

intmain()

{floatx0,x1,x2,fx0,fx1,fx2;

do

{printf("enterx1&x2:

");

scanf("%f,%f",&x1,&x2);

fx1=x1*((2*x1-4)*x1+3)-6;

fx2=x2*((2*x2-4)*x2+3)-6;

}while(fx1*fx2>0);

do

{x0=(x1+x2)/2;

fx0=x0*((2*x0-4)*x0+3)-6;

if((fx0*fx1)<0)

{x2=x0;

fx2=fx0;

}

else

{x1=x0;

fx1=fx0;

}

}while(fabs(fx0)>=1e-5);

printf("x=%\n",x0);

return0;

}

5-16

#include<>

intmain()

{inti,j,k;

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

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

printf("");

for(k=0;k<=2*i;k++)

printf("*");

printf("\n");

}

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

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

printf("");

for(k=0;k<=4-2*i;k++)

printf("*");

printf("\n");

}

return0;

}

5-17

#include<>

intmain()

{

chari,j,k;/*是a的对手;j是b的对手;k是c的对手*/

for(i='x';i<='z';i++)

for(j='x';j<='z';j++)

if(i!

=j)

for(k='x';k<='z';k++)

if(i!

=k&&j!

=k)

if(i!

='x'&&k!

='x'&&k!

='z')

printf("A--%c\nB--%c\nC--%c\n",i,j,k);

return0;

}

第6章利用数组处理批量数据142

怎样定义和引用一维数组142

怎样定义一维数组143

怎样引用一维数组元素144

一维数组的初始化145

一维数组程序举例146

怎样定义和引用二维数组148

怎样定义二维数组149

怎样引用二维数组的元素150

二维数组的初始化151

二维数组程序举例152

字符数组154

怎样定义字符数组154

字符数组的初始化155

怎样引用字符数组中的元素155

字符串和字符串结束标志156

字符数组的输入输出159

使用字符串处理函数161

字符数组应用举例165

习题168

6-1

#include<>

#include<>

intmain()

{inti,j,n,a[101];

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

a[i]=i;

a[1]=0;

for(i=2;i

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

{if(a[i]!

=0&&a[j]!

=0)

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

a[j]=0;

}

printf("\n");

for(i=2,n=0;i<=100;i++)

{if(a[i]!

=0)

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

n++;

}

if(n==10)

{printf("\n");

n=0;

}

}

printf("\n");

return0;

}

6-2

#include<>

intmain()

{inti,j,min,temp,a[11];

printf("enterdata:

\n");

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

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

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

}

printf("\n");

printf("Theorginalnumbers:

\n");

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

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

printf("\n");

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

{min=i;

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

if(a[min]>a[j])min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

printf("\nThesortednumbers:

\n");

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

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

printf("\n");

return0;

}

6-3

#include<>

intmain()

{

inta[3][3],sum=0;

inti,j;

printf("enterdata:

\n");

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

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

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

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

sum=sum+a[i][i];

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

return0;

}

6-4

#include<>

intmain()

{inta[11]={1,4,6,9,13,16,19,28,40,100};

inttemp1,temp2,number,end,i,j;

printf("arraya:

\n");

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

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

printf("\n");

printf("insertdata:

");

scanf("%d",&number);

end=a[9];

if(number>end)

a[10]=number;

else

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

{if(a[i]>number)

{temp1=a[i];

a[i]=number;

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

{temp2=a[j];

a[j]=temp1;

temp1=temp2;

}

break;

}

}

}

printf("Nowarraya:

\n");

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

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

printf("\n");

return0;

}

6-5

#include<>

#defineN5

intmain()

{inta[N],i,temp;

printf("enterarraya:

\n");

for(i=0;i

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

printf("arraya:

\n");

for(i=0;i

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

for(i=0;i

printf("continuornot(Y/N)");

scanf("%c",&c);

if(c=='N'||c=='n')

flag=0;

}

return0;

}

6-10

#include<>

intmain()

{inti,j,upp,low,dig,spa,oth;

chartext[3][80];

upp=

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

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

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

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