《程序设计基础》作业集答案高涛文档格式.docx

上传人:b****6 文档编号:17284072 上传时间:2022-11-30 格式:DOCX 页数:24 大小:75.02KB
下载 相关 举报
《程序设计基础》作业集答案高涛文档格式.docx_第1页
第1页 / 共24页
《程序设计基础》作业集答案高涛文档格式.docx_第2页
第2页 / 共24页
《程序设计基础》作业集答案高涛文档格式.docx_第3页
第3页 / 共24页
《程序设计基础》作业集答案高涛文档格式.docx_第4页
第4页 / 共24页
《程序设计基础》作业集答案高涛文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

《程序设计基础》作业集答案高涛文档格式.docx

《《程序设计基础》作业集答案高涛文档格式.docx》由会员分享,可在线阅读,更多相关《《程序设计基础》作业集答案高涛文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

《程序设计基础》作业集答案高涛文档格式.docx

1.常量、整型常量、实型常量、字符型常量

2.变量、先定义

3.单精度、双精度

4.+、-、*、/、%

5.关系表达式、“0”、“1”

1C2B3B4D5B

字符常量是一个字符,在程序中字符是用单引号括起来的。

字符串变量由0个或若干个字符组合而成,在程序中字符串是用双引号括起来的,在存储时系统自动在字符串最后面加一个结束符号‘\0’。

2.解:

(1)2.5

(2)3.5

3.解:

运行结果为:

(1)9,11,9,10

(2)

(1)b=2

(2)a=3

(3)c=2

(4)b=4

(5)c=9

4.解:

(1)0

(2)0(3)0(4)1(5)1

5.解:

(1)24

(2)10(3)60

(4)0(5)0(6)0

第三章

1.顺序语句、选择语句、循环语句、转移语句

2.#include“stdio.h”

3.break

4.z=(x>

y)?

x:

y;

5.将给定的一个字符常量或字符变量的内容输出到显示器屏幕上

1B2B3B4B5C

1.解:

#include<

stdio.h>

voidmain()

{

intunits,tens,hundreds,a,b;

printf("

Pleaseinputanumber(100~999):

"

);

scanf("

%d"

&

a);

hundreds=a/100;

tens=(a-hundreds*100)/10;

units=a-hundreds*100-tens*10;

b=100*units+tens*10+hundreds;

afterchange,thenumberis:

%d\n"

b);

}

#include<

inta,b,c;

%d%d%d"

a,b,c);

if(a>

b)if(b>

c)printf("

mid=%d\n"

elseif(a>

c);

elseprintf("

a);

elseif(b>

math.h>

doublea,b,c;

/*方程系数*/

doubledisc;

/*判别式*/

doublere,im;

/*方程实部虚部*/

Entera,b,c:

%lf%lf%lf"

a,&

b,&

c);

if(a==0.0)

if(b==0.0)

Theequationhasnotsoluble!

\n"

else

Singlerootis%f\n"

-c/b);

elseif(c==0.0)

Tworoots:

x1=%lf\tx2=%lf\n"

-b/a,0);

disc=b*b-4*a*c;

re=-b/(2*a);

im=sqrt(fabs(disc))/(2*a);

if(disc>

=0.0)

x1=%f\tx2=%f"

re+im,re-im);

Twocomplexroots:

x1=%f+i*%f\tx2=%f-i*%f\n"

re,im,re,im);

inti,j,result;

for(i=1;

i<

10;

i++)

for(j=1;

j<

j++)

result=i*j;

%d*%d=%-3d"

i,j,result);

floata,b;

charoptor;

Pleaseinputthevalueofa,b:

%f%f"

b);

Enteroperator:

getchar();

%c"

optor);

switch(optor)

case'

+'

:

printf("

%f+%f=%f\n"

a,b,a+b);

break;

-'

%f-%f=%f\n"

a,b,a-b);

*'

%f*%f=%f\n"

a,b,a*b);

/'

if(b==0)printf("

cannotadividedby0!

%f/%f=%f\n"

a,b,a/b);

default:

Inputerror!

}

第四章

1.[0,N-1]

2.1022

3.a[4][5]

4.“string.h”

5.0、‘\0’

1D2A3D4B5C

inta[15];

inti,j;

a[0]=0;

a[1]=1;

%-4d%-4d"

a[0],a[1]);

for(i=2;

15;

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

%-4d"

a[i]);

inta[10];

inti,min,k,temp;

Pleaseinput10integernumbers:

for(i=0;

a[i]);

min=i;

for(k=i+1;

k<

k++)

if(a[k]<

=a[min])min=k;

temp=a[i];

a[i]=a[min];

a[min]=temp;

inta[10],i,j,temp;

9;

for(j=0;

9-i;

if(a[j]>

a[j+1])

temp=a[j];

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

a[j+1]=temp;

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

enterdata:

3;

a[i][j]);

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

sum=%6d\n"

sum);

charstring[81];

inti,num=1;

charc;

gets(string);

(c=string[i]!

='

\0'

if(string[i]=='

'

)num++;

Thereare%dwordsintheline\n"

num);

第五章

1.函数

2.fun(intx,inty,intz)

3.main()

4.局部静态存储变量、全局静态存储变量

5.内部函数、外部函数

1B2B3C4C5B

语法错误有:

(1)主函数中第4行漏写了分号。

(2)形参与实参个数不相等,形参没有定义类型

(3)子函数中n没有定义。

语义错误有:

(1)主函数中x和n没有赋值。

(2)函数调用时,既没有返回值也不是地址调用;

程序中没有输出语句,目的

不明确。

正确的程序是:

main()

intpower(intx,intn);

intx=2,n=4;

\ns=%d"

power(x,n));

intpower(intx,intn)

inti,p=1;

=n;

++i)

p=p*x*i;

return(p);

#include"

stdio.h"

floatvolume(a,b,c)

floata,b,c;

floatv;

v=a*b*c;

return(v);

floata,b,c,v;

%f%f%f"

v=volume(a,b,c);

v=%f"

v);

floatsum(intn)

inti;

floats;

s=0;

s+=1/(float)i;

};

returns;

intn;

floats;

Pleaseinputthevalueofn:

n);

if(n<

=0)

Pleaseinputapositivenumber!

s=sum(n);

sum=%f"

s);

Thevalueofiinmain()beforcallingsqr(x)is25

Callingsqr(x):

sqr(25)=625

Thevalueofiinmain()aftercallingsqr(x)is25

doublexpower(floatx,intn)

return

(1);

return(x*xpower(x,n-1));

floatx;

doubler;

%f%d"

x,&

r=xpower(x,n);

Result=%f"

r);

第六章

1.“指针变量”、空指针

2.s所指向的变量内容加1、取指针变量s加1后的内容、取s的内容后,s再加1

3.a[3]

4.指针

5.指针首地址

6.“单级间址”、“二级间址”

1B2D3D4D

intstrlen(s)

char*s;

char*p=s;

while(*p!

p++;

return(p-s);

swap(int*p,int*q)

inttemp;

temp=*p;

*p=*q;

*q=temp;

inta,b,*pa,*pb;

Pleaseinput2integernumbers:

%d%d"

pa=&

a;

pb=&

b;

swap(pa,pb);

%d%d"

a,b);

不行。

C语言规定数组名称代表数组的首地址,也就是说第一个元素的地址是常量,所以在程序中a的值是不能改变的。

修改程序如下:

inta[10]={1,2,3,4,5,6,7,8,9,10},i;

%d"

*(a+i));

4答:

运行结果:

(1)12

(2)book

(3)

0022FF40--1

0022FF4C--4

0022FF58--7

0022FF40--10022FF44--20022FF48--3

0022FF4C--40022FF50--50022FF54--6

0022FF58--70022FF5C--80022FF60--9

5答:

intlen(char*p)

intn=0;

n++;

return(n);

intlength;

char*str[20];

Pleaseinputastring:

%s"

str);

length=len(str);

thelengthofthestringis%d"

length);

6.答:

双重指针指的是指向指针型数据的指针类型。

程序如下:

inta[2][3]={1,3,5,2,4,6};

int*add[2][3]={*a,*a+1,*a+2,*(a+1),*(a+1)+1,*(a+1)+2};

int**p,i;

p=add[0];

6;

**p);

getch();

135246

第七章

1.结构体

2.pstu->

score

3.地址

4.数据、链指针、下一个结点

5.stdlib.h

6.一个一个的输入各结点数据,并建立其前后相链的关系

7.将链表中各结点的数据依次输出

1D2D3B4D5B

三问答题

3,a

structperson

charname[20];

intcount;

}leader[3]={"

Li"

0,"

Zhang"

Wang"

0};

inti,j;

charleader_name[20];

=4;

leader_name);

if(strcmp(leader_name,leader[j].name)==0)

leader[j].count++;

%s:

leader[i].name,leader[i].count);

stdlib.h"

structlist

intdata;

structlist*next;

};

typedefstructlistnode;

typedefnode*link;

linkptr,head;

intnum,i;

ptr=(link)malloc(sizeof(node));

ptr=head;

Pleaseinput5numbers===>

num);

ptr->

data=num;

next=(link)malloc(sizeof(node));

if(i==4)ptr->

next=NULL;

elseptr=ptr->

next;

while(ptr!

=NULL)

Thevalueis===>

ptr->

data);

ptr=ptr->

structstudent

intnum;

floatscore;

structstudentstu[4];

structstudent*p;

inti,temp=0;

floatmax;

for(p=stu;

p<

stu+4;

p++)

%d%s%f"

p->

num,p->

name,&

score);

for(max=stu[0].score,i=1;

4;

if(stu[i].score>

max)

max=stu[i].score;

temp=i;

p=stu+temp;

\nThemaximumscore:

No.%d\nname:

%s\nscore:

%4.1f\n"

p->

name,p->

模拟试题一

一.选择题

1C2B3D4D5C6D7A8D9A10B

二.程序填空题

1.①:

stdio.h

②:

i=1;

5;

i++

③:

i!

=k&

&

i!

=j&

j!

=k

2.①:

n=1;

n<

=20;

n++

t*=n;

③:

s+=t;

三.程序设计题

inti,j,k,n;

waterflower'

snumberis:

for(n=100;

1000;

i=n/100;

//分解出百位

j=n/10%10;

//分解出十位

k=n%10;

//分解出个位

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

%-5d"

n);

#include"

inta[5]={9,6,5,4,1},i,temp;

\noriginalarray:

%4d"

5/2;

a[i]=a[5-i-1];

a[5-i-1]=temp;

\nsortedarray:

swap(int*p1,int*p2)

temp=*p1;

*p1=*p2;

*p2=temp;

intn1,n2,n3;

int*pointer1,*pointer2,*pointer3;

Pleaseinput3number:

n1,n2,n3:

n1,&

n2,&

n3);

pointer1=&

n1;

pointer2=&

n2;

pointer3=&

n3;

if(n1>

n2)swap(pointer1,pointer2);

n3)s

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

当前位置:首页 > 高等教育 > 农学

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

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