c程序设计课后习题答案杨长兴刘卫国主编1111.docx

上传人:b****6 文档编号:6307290 上传时间:2023-01-05 格式:DOCX 页数:18 大小:29.95KB
下载 相关 举报
c程序设计课后习题答案杨长兴刘卫国主编1111.docx_第1页
第1页 / 共18页
c程序设计课后习题答案杨长兴刘卫国主编1111.docx_第2页
第2页 / 共18页
c程序设计课后习题答案杨长兴刘卫国主编1111.docx_第3页
第3页 / 共18页
c程序设计课后习题答案杨长兴刘卫国主编1111.docx_第4页
第4页 / 共18页
c程序设计课后习题答案杨长兴刘卫国主编1111.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c程序设计课后习题答案杨长兴刘卫国主编1111.docx

《c程序设计课后习题答案杨长兴刘卫国主编1111.docx》由会员分享,可在线阅读,更多相关《c程序设计课后习题答案杨长兴刘卫国主编1111.docx(18页珍藏版)》请在冰豆网上搜索。

c程序设计课后习题答案杨长兴刘卫国主编1111.docx

c程序设计课后习题答案杨长兴刘卫国主编1111

习题一

一、选择题

2.C

二、填空题

1.算法2.main3.;4.cppobjexe

5.符号概念6.是10是117.double1

8.-2649.是4

10.m-m/n*n11.a为6b为4c为212.为1

三、问答题

1.有点。

运算机程序设计语言模型是更规那么、无二意性的语言模型。

2.书P3

3..dsw、.dsp、.ncp、.cpp

4.提高程序的可读性、可保护性。

在行注释前加“别时,要紧看符号的概念;2.运行时,符号常量不能改变值而变量可改变。

5.字符常量通常指一个字符,存储单元为一个字节;字符串可包括多个字符,存储单元为字符数加1个字节。

6.、类型:

double;1L、65536类型:

long

7.int、new不是,因为是关键字;abc、lxyz、a_0、Hello、aaaaa、_a是合法的标识符;a+b、!

A不是,因为+、!

是运算符。

0_abc不是是因为数字开头;d$a不是是因为标识符不该包括$。

8.合法:

(1)、(5)、(6)

9.全数都是。

10.a=2;b=1

11.2;-2;六、4、40、-3、3

12.

(1)4a=3b=4c=5;

(2)5a=3b=4c=6;(3)-9a=3b=5c=5;

(4)4a=4b=4c=4

13.

(1)(float)k

(2)x-int(x)(3)m/10%10

(4)(ch>=’A’&&ch<=’Z’)?

(ch=’a’+ch-‘A’):

ch

 

习题二

四、选择题

2.C

五、填空题

1.if2.dowhile和for3.循环体循环体4.1n+1n

5.5,4,6

三、程序阅读题

14.m=5

15.14,226,3,35,56,c=37

六、程序设计题

1.#include

#include

usingnamespacestd;

floata,b,c,s,area;

voidmain()

{cout<<"输入abc:

";cin>>a>>b>>c;

if((a+b>c)&&(a+c>b)&&(b+c>a))

{s=(a+b+c)/2;cout<<"面积="<

else

cout<<"输入的不是三角形的三条边";

}

2.见《实验教程》p274.

3.#include<>

voidmain()

{floatx,y;

cout<<"输入购物款:

";cin>>x;

switch(int(x/1000))

{case0:

y=x;break;

case1:

y=x*;break;

case2:

y=x*;break;

case3:

y=x*;break;

default:

y=x*;

}

cout<<"优惠款为:

"<

}

4.见《实验教程》p285.

5.#include

usingnamespacestd;

inti,n;

longjs=1;

voidmain()

{cout<<"输入n:

";cin>>n;

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

js*=i;

cout<

="<

}

6.#include

#include

usingnamespacestd;

intn=1;

floatpi=0,xn=4;

voidmain()

{while(fabs(xn)>

{pi+=xn;n++;xn=*sign(xn)/(2*n-1);

}

cout<<"π="<

}

7.#include<>

voidmain()

{inti,j,sum;

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

{sum=0;

For(j=1;j

if(i%j==0)sum+=j;

if(sum==i)

{cout<

For(j=1;j

If(i%j==0)cout<

Cout<

}

}

}

8.#include<>

voidmain()

{intx,y,z;

For(x=1;x<10;x++)

For(y=1;y<12;y++)

{z=20-x-y;

If(5*x+4*y+2*z==50)

Cout<<"公猴:

"<

"<

"<

}

}

9.见《教程》p60例

10.见《实验教程》p325.

 

习题三

七、选择题

八、填空题

1.函数头省略能省略应加“;”函数头不加“;”

2.inlineflatf(int,char)

3.函数体外外部内部(静态)static文件位置extern

4.生存期作用域作用域生存期作用域本文件

100-3

三、程序阅读题

16.S=40

17.y=129

18.max=8

19.S=29

a)程序设计题

1.#include<>

floatadd(intx,inty)

{return(float)(x+y);

}

floatfac(intn)

{inti;

floats=1;

For(i=1;i<=n;i++)s*=i;

}

voidmain()

{intm,n

cout<<"输入整数mn:

";cin>>m>>n;

cout<

+"<

="<

}

2.#include<>

#include<>

intisprime(intn)

{inti;

floatk;

k=sqrt(n);

for(i=2;i

return1;

}

voidmain()

{ints=0,i;

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

if(isprime(i))s+=i;

cout<<"和:

"<

}

3.非递归:

floatpow(floata,intn)

{inti;

floats=1;

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

s*=a;

returns;

}

递归:

floatpow(floata,intn)

{floats;

if(n==0)

return1;

else

s=pow(a,n-1)*a;

returns;

}

4.非递归:

floatsum(intn)

{floats;

inti;

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

returns;

}

递归:

floatsum(intn)

{floats;

if(n==1)

retrun1;

else

s=sum(n-1)+n;

returns;

}

5.#include<>

inlineintischar(charn)

{if(n<=127)return1;

return0;

}

voidmain()

{chara;

cout<<"输入字符:

";

cin>>a;

if(ischar(a))

cout<

else

cout<<"输入的不是英文字符:

"

}

fac(intn)

{inti;

floats=1;

For(i=1;i<=n;i++)s*=i;

}

 

#include<>

floatpow(floata,intn)

{inti;

floats=1;

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

s*=a;

returns;

}

voidmain()

{inta,b,n;

cout<<"输入abn:

";

cin>>a>>b>>n;

cout<

}

 

习题四

程序设计题:

1.#include<>

voidmain()

{inta[10],i,j,k,tem;

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

{cout<<"输入第"<

";cin>>a[i];}

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

{k=i;

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

if(a[k]

tem=a[i];a[i]=a[k];a[k]=tem;

cout<

}

}

2.设:

数组的大小为n,插入函数如下:

intinsert(inta[],intn)

{intb,i=0,k;

Cout<<"输入整数:

";

cin>>b;

while(b>a[i]&&i<=n)i++;

if(i<=n)

{for(k=n;k>i;k--)a[k]=a[k-1];

a[i]=b;return1;

}

else

cout<<"该数不能插入";

return0;

}

3.#include<>

inta[100],i,,k,b;

voidmain()

{i=1;

while(i<=100)

{cout<<"输入第"<

";cin>>b;

for(k=0;k

if(a[k]==b)break;

if(k==i-1)

{a[i++-1]=b;}

}

}

 

4.#include<>

#definelnum10

#definecnum10

voidmain()

{floata[lnum][cnum],max,min;

inti,j,k,l,fb=1;

voidf(inta[],intn)

{inti,tem;

for(i=0;i

{tem=a[i];a[i]=a[n-1-i];a[n-1-i]=tem;}

}

f(char*s)

{intn=1;

char*p,*p1;

n=strlen(s);

p=s;

p1=s+n-1;

while(p

{if(*p!

=*p1)

return0;

else

{p++;p1--}

}

return1;

}

7.#include<>

#include<>

voidmain()

{charstr1[100],str2[50],*p=str2;

intn;

Cout<<"输入字符串";

(str1,100);

n=strlen(str1);

for(i=0;i

{*(str2+i/2)=str1[i];}

*(Str2+i/2)=null;

cout<<"str1:

"<

cout<<"str2:

"<

}

 

8.#include

usingnamespacestd

voidmain()

{inti,supercn=0,lowcn=0,spacecn=0,numbercn=0,othercn=0;

chara[100];

cout<<”输入字串:

”;

(a,100);

while(a[i])

{{if(a[i]>=’A’&&a[i]<=’Z’)supercn++;

elseif(a[i]>=’a’&&a[i]<=’z’)lowcn++;

elsef(a[i]=’‘)spacecn++;

elseif(a[i]>=’0’&a[i]<=’9’)numbercn++;

elseothercn++;

}

}

cout<<”大写字母数:

”<

cout<<”小写字母数:

”<

cout<<”空格数:

”<

cout<<”数字字母数:

”<

cout<<”其它字母数:

”<

}

 

9.#include

usingnamespacestd

voidmain()

{inti,lable=0,count=0;

chara[100];

cout<<”输入字串:

”;

(a,100);

while(a[i])

{if(a[i]==’‘&&lable)

{count++;label=0;}

elseif(a[i]!

=’’)

lable=1;

i++;

}

cout<<”单字个数:

”<

}

 

10.#include

#include

usingnamespacestd;

voidmain()

{inti,maxn=0,maxxb,m=0;

chara[40][100];

cout<<"输入各行:

"<

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

{(a[i],100);

m=strlen(a[i]);

if(m==0)break;

if(m>maxn){maxxb=i;maxn=m;}

}

cout<

}

 

11.##include

#include

usingnamespacestd;

voidmain()

{inti,n,m,j,k;

chara[40][100],b[100];

cout<<"输入各国家名(一个国家一行):

"<

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

{(a[i],100);

m=strlen(a[i]);

if(m==0)breakelsen++;

}

for(i=0;i

{k=i;

for(j=i+1;j

if(strcpy(a[k],a[j])>0)k=j;

if(k!

=i){strcpy(b,a[i]);strcpy(a[i],a[k]);strcpy(a[k],b);)}

}

for(i=0;i

}

12.

intfind(char*s,char*word)

{char*p1,*p2,lable=1,firstspace=1;

p1=s;

p2=word;

while(*p1)

{if(*p1=='')

firstspace=1;

elseif(firstspace==1)

{lable=1;

while(*p1!

=''&&*p1&&*p2)

{if(*p1!

=*p2)lable=0;

p1++;p2++;

}

if(lable&&!

*p2&&(*p1==''||!

*p1))return1;

if(!

*p1)return0;

if(*p1=='')firstspace=1;elsefirstspace=0;

p2=word;

}

p1++;

}

return0;

习题五

九、选择题

十、填空题

1.structdelete

十一、程序阅读题

程序1:

65A

65a

 

程序2:

10,20,7,9

四、程序设计题

1.#include

usingnamespacestd;

structdate

{intyear;

intmonth;

};

structstudent

{longnum;

charname[9];

charsex;

datebirth;

floattotalscore;

charhometown[20];

};

Voidmain()

{students[5],s1;

chari,j,m[5];

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

{cout<<”输入第”<

”;

cin>>s[i].num;

cout<<”姓名:

”;

(s[i].name,9);

(m,5);

cout<<”性别:

”;

cin>>s[i].sex;

(m,5);

cout<<”输入诞生年月:

”;

cin>>s[i].>>s[i].;

cout<<”输入总分:

”;

cin>>s[i].totalscore;

cout<<”输入籍贯:

”;

(s[i].hometown,20);

(m,5);

}

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

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

if(s[i].totalscore

{s1=s[i];s[i]=s[j];s[j]=s1;}

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

{cout<<”学号\t姓名\t性别\t诞生年月\t入学总分\t籍贯”<

cout<

cout<<””<

cout<

}

}

2.

3.链表确实是把物理上不持续的存储块链接为逻辑上持续的存储块,每一个存储块都包括一个指向下一个存储块的指针。

大体操作有成立链表,插入,删除,访问一个块。

习题六

十二、选择题

十三、填空题

1.数据成员函数成员2.类概念体内类概念体外

protectprivateprivate4.对象的初始化对象释放时的维护

36.生成B,并把A复制给B

publicfriend

[0].xb[i].xa,6

十四、程序阅读题

程序1:

a转换为A

b转换为B

程序2:

Thereare1points

Thereare6points

Theraare6points

程序3:

fun1:

7

fun2:

15

程序4:

97

习题十

十五、选择题

十六、填空题

1.cerrclog2.流

4.成员

十七、程序阅读题

程序1:

Jim+000

Cindy+001

Tidy+002

Sam+003

程序2:

空格:

3行数:

3制表符:

2

程序3:

fg

123456

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1