072程序设计II期末试zucc浙江大学城市学院卷.docx

上传人:b****9 文档编号:28976522 上传时间:2023-07-20 格式:DOCX 页数:15 大小:20.66KB
下载 相关 举报
072程序设计II期末试zucc浙江大学城市学院卷.docx_第1页
第1页 / 共15页
072程序设计II期末试zucc浙江大学城市学院卷.docx_第2页
第2页 / 共15页
072程序设计II期末试zucc浙江大学城市学院卷.docx_第3页
第3页 / 共15页
072程序设计II期末试zucc浙江大学城市学院卷.docx_第4页
第4页 / 共15页
072程序设计II期末试zucc浙江大学城市学院卷.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

072程序设计II期末试zucc浙江大学城市学院卷.docx

《072程序设计II期末试zucc浙江大学城市学院卷.docx》由会员分享,可在线阅读,更多相关《072程序设计II期末试zucc浙江大学城市学院卷.docx(15页珍藏版)》请在冰豆网上搜索。

072程序设计II期末试zucc浙江大学城市学院卷.docx

072程序设计II期末试zucc浙江大学城市学院卷

年级:

_____________专业:

_____________________班级:

_________________学号:

_______________姓名:

__________________

…………………………………………………………..装………………….订…………………..线………………………………………………………

诚信应考考出水平考出风格

浙江大学城市学院

2006—2007学年第二学期期末考试试卷

《程序设计Ⅱ》

开课单位:

计算分院;考试形式:

闭卷;考试时间:

2007年7月13日;

所需时间:

120分钟

题序

总分

1

2

3

4

得分

评卷人

注:

请一律在答题卷上答题。

得分

 

一.程序阅读题(本大题共6题,每题5分,共30分。

 

1.写出下列程序的运行结果。

#include

voidmain()

{intm=8,s=0;

do{

switch(m%6){

case2:

m=m/2;s=s+2;break;

case3:

m=m/3;s=s+3;break;

case5:

m=m/5;s=s+5;break;

default:

m--;s--;

};

printf("%d#",s);

}while(m!

=0);

}

2.写出下列程序的运行结果。

#include

main()

{floata[4][3]={{3,2,5},{-3,2,1},{4,3,2},{5,1,3}};

inti,j;

floatv[4],s;

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

s=0;

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

s+=a[i][j];

v[i]=s;

}

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

printf("%6.1f#",v[i]);

}

3.请问下面的函数中使用了哪种排序算法,是升序(从小到大)还是降序(从大到小)?

voidsort(inta[],intn)

{

inti,j,k,tmp;

for(i=0;i

{

k=i;

for(j=i+1;j

if(a[k]

tmp=a[k];

a[k]=a[i];

a[i]=tmp;

}

}

4.写出下列程序的运行结果。

#include

intx,y,z;

voidp(int*x,inty)

{--*x;

y++;

z=*x+y;

}

voidmain()

{x=5;y=2;z=0;

p(&x,y);

printf("%d,%d,%d#",x,y,z);

p(&y,x);

printf("%d,%d,%d",x,y,z);

}

5.写出下列程序的运行结果。

#include

intf(intm)

{staticintk=0;

ints=0;

for(;k<=m;k++)s++;

returns;

}

voidmain()

{ints1,s2;

s1=f(5);

s2=f(3);

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

}

6.写出下列程序的运行结果。

#include

#include

intpal(char*s)

{chars2[80];

inti,Len;

Len=strlen(s);

for(i=0;s[i];i++)

s2[Len-i-1]=s[i];

s2[Len]='\0';

if(strcmp(s,s2)==0)

return1;

else

return0;

}

voidmain()

{

if(pal("level")==1)

printf("Yes#");

else

printf("No$");

if(pal("adam")==1)

printf("Yes\n");

else

printf("No\n");

}

 

得分

 

二.程序填空题(本大题共15空,每空2分,共30分。

 

1.设数组a包括10个整型元素,下面的程序求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。

#include

voidmain()

{inta[10],b[10],i;

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

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

for(

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

(2)

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

{printf(“%3d”,b[i]);

if((3))printf(“\n”);

}

}

(1)

A.

i=0

B.

i=1

C.

i=-1

D.

空缺

(2)

A.

b[i]=a[i]+a[i+1]

B.

b[i]=a[i-1]+a[i]

C.

b[i+1]=a[i]+a[i+1]

D.

b[i+1]=a[i-1]+a[i]

(3)

A.

i%3==0

B.

(i+1)%3==0

C.

i/3==0

D.

(i+1)/3==0

2.下面的程序输出1~n(50<=n<=100)之间的所有素数。

素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

#include

___(4)___

intIsPrime(int);

intmain()

{

inti,n;

printf("请输入一个整数(>=50且<=100):

");

scanf("%d",&n);

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

{

if(_____(5)____)

printf("%5d",i);

}

}

intIsPrime(intm)

{

inti,k;

if(m<=1)

return0;

k=sqrt(m);

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

if(m%i==0)

break;

if(____(6)___)

return1;

else

return0;

}

(4)

A.

#include

B.

#include

C.

#include

D.

#include

(5)

A.

IsPrime(n)==1

B.

IsPrime(n)==0

C.

IsPrime(i)==1

D.

IsPrime(i)==0

(6)

A.

i!

=k

B.

i==m

C.

i==k

D.

i==k+1

3.下列程序读入时间数值,将其加n(n<60)秒后输出,时间格式为hh:

mm:

ss,当小时值等于24小时,从0开始计时。

#include

struct{inthh,mm,ss;}time;

voidmain()

{

scanf(“%d:

%d:

%d”,&time.hh,&time.mm,&time.ss);

scanf(“%d”,&n);

time.ss+=n;

if((7))

{(8);

time.ss-=60;

if(time.mm==60)

{time.hh++;time.mm=0;

if((9))time.hh=0;

}

}

printf(“%d:

%d:

%d”,time.hh,time.mm,time.ss);

}

(7)

A.

time.ss==60

B.

time.ss>60

C.

time.ss>=60

D.

time.ss<60

(8)

A.

time.mm++

B.

time.mm--

C.

time.hh++

D.

time.hh--

(9)

A.

time.hh>24

B.

time.hh<24

C.

time.hh=24

D.

time.hh==24

4.下面的程序段A与B功能相同,都是用于计算Fibonacci数列的第n项的值。

程序段A:

intf(intn)

{

intt0,t1,t;

t0=0;t1=1;t=n;

while(n>1)

{t=t0+t1;

t0=t1;

(10);

n--;

}

returnt;

}

程序段B:

intf(intn)

{

if((11))

returnn;

else

return(12);

}

(10)

A.

t1=t0

B.

t1=t

C.

t1=t-t0

D.

t1=t-t1

(11)

A.

n<0

B.

n<=0

C.

n<1

D.

n<=1

(12)

A.

n+f(n-1)

B.

n+f(n-2)

C.

f(n-1)+f(n-2)

D.

f(n-1)+n-2

 

5.下面的程序输入若干学生的成绩(到输入-1为止),并建立一个链表,遍历链表,统计并输出不及格的学生个数及其成绩。

#include

#include

#defineLENsizeof(structline)

#defineNULL0

structline{

intnum;

structline*next;

};

voidmain()

{structline*p1,*tail,*head;

intk,sum=0;

p1=head=tail=NULL;

scanf("%d",&k);

while(k!

=-1){

p1=(structline*)malloc(LEN);

p1->num=k;

p1->next=NULL;

if(head==0)head=p1;

else(13);

(14);

scanf("%d",&k);

}

for(p1=head;(15);p1=p1->next)

if(p1->num<60)

{printf(“%d\n”,p1->num);

sum++;

}

printf("不及格人数为:

%d\n",sum);

}

(13)

A.

tail->next=p1

B.

p1->next=tail

C.

tail=p1->next

D.

p1=tail->next

(14)

A.

p1=tail

B.

tail=p1

C.

p1->next=tail

D.

tail->next=p1

(15)

A.

tail!

=NULL

B.

tail->next!

=NULL

C.

p1!

=NULL

D.

p1->next!

=NULL

 

得分

 

三.编程题(本大题共4题,每题10分,共40分。

1.编写程序,输入实数x值,按下式计算并输出y的值

{

+sinxx>10

y=0x=10

2x3+6x<10

2.输入2个正整数a(0

例如,输入2和3,则要求计算2+22+222,应该输出246。

请编写程序完成此功能,其中计算n个a的值要求用自定义函数完成,函数格式为:

longn_a(inta,intn),例如n_a(2,3)的返回值应该是222。

3.输入一个整数n(n<50),再输入n个整数存入一个数组中,再输入一个整数x,在数组中查找X,输出找到的第一个x的数组下标位置,否则输出“NotFound!

”。

4.文本文件file.txt中有若干行字符,请编写程序,读出文件中的字符,统计文件中数字字符的个数以及文件共有几行。

 

年级:

_____________专业:

_____________________班级:

_________________学号:

_______________姓名:

__________________

…………………………………………………………..装………………….订…………………..线………………………………………………………

诚信应考考出水平考出风格

浙江大学城市学院

2006—2007学年第二学期期末考试答题卷

《程序设计Ⅱ》

开课单位:

计算分院;考试形式:

闭卷;考试时间:

2007年7月13日;

所需时间:

120分钟

题序

总分

1

2

3

4

得分

评卷人

得分

 

一.程序阅读题(本大题共6题,每题5分,共30分。

把程序的运行结果填入相应的题号中。

1.

2.

3.

4.

5.

6.

得分

 

二.程序填空题(本大题共15空,每空2分,共30分。

把正确的选择项填入相应的题号中。

 

得分

 

三.编程题(本大题共4题,每题10分,共40分。

1.

 

得分

 

2.

 

得分

 

3.

 

得分

 

4.

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

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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