1、072程序设计II期末试zucc浙江大学城市学院卷年级:_ 专业:_ 班级:_ 学号:_ 姓名:_.装.订.线诚信应考 考出水平 考出风格浙江大学城市学院2006 2007 学年第 二 学期 期末考试试卷 程序设计 开课单位: 计算分院 ;考试形式:闭卷;考试时间: 2007 年 7 月 13 日;所需时间: 120 分钟题序一二三总 分1234得分评卷人注:请一律在答题卷上答题。得分一 程序阅读题 (本大题共 6 题,每题 5 分,共 30 分。)1写出下列程序的运行结果。#include void main() int m=8,s=0; do switch(m%6) case 2 : m=
2、m/2;s=s+2; break; case 3 : m=m/3;s=s+3; break; case 5 : m=m/5;s=s+5; break; default : m-; s-; ; printf(%d# ,s); while(m!=0);2写出下列程序的运行结果。#include main() float a43=3,2,5,-3,2,1,4,3,2,5,1,3; int i,j; float v4,s; for (i=0;i4;i+) s = 0; for(j=0;j3;j+) s+=aij; vi = s; for(i=0;i4;i+) printf(%6.1f#,vi);3请问
3、下面的函数中使用了哪种排序算法,是升序(从小到大)还是降序(从大到小)?void sort(int a, int n) int i,j,k,tmp; for(i=0;in-1;i+) k = i; for(j=i+1;jn;j+) if (akaj) k = j; tmp = ak; ak=ai; ai=tmp; 4写出下列程序的运行结果。#include int x, y, z;void p(int *x, int y) -*x; y+; z = *x+y;void main() x=5; y=2; z=0; p(&x, y); printf(%d,%d,%d#, x, y, z); p(&
4、y, x); printf(%d,%d,%d, x, y, z);5写出下列程序的运行结果。# include int f(int m) static int k=0; int s=0; for(; k=m; k+) s+; return s;void main( ) int s1, s2; s1=f(5); s2=f(3); printf(%d,%dn, s1, s2);6写出下列程序的运行结果。#include #include int pal(char *s) char s280; int i,Len; Len = strlen(s); for(i=0;si;i+) s2Len-i-1
5、= si; s2Len=0; if (strcmp(s,s2)=0) return 1; else return 0;void main() if (pal(level)=1) printf(Yes#); else printf(No$); if (pal(adam)=1)printf(Yesn); elseprintf(Non);得分二 程序填空题 (本大题共 15 空,每空 2 分,共 30 分。)1设数组a包括10个整型元素,下面的程序求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。#include void main() int a10, b10, i;
6、for(i=0; i10; i+) scanf(%d ,&ai);for( (1) ; i10; i+) (2) for(i=1; i10; i+) printf(“%3d”, bi); if( (3) ) printf(“n”); (1)A.i=0B.i=1C.i=-1D.空缺(2)A.bi=ai+ai+1B.bi=ai-1+aiC.bi+1=ai+ai+1D.bi+1=ai-1+ai(3)A.i%3=0B.(i+1)%3=0C.i/3=0D.(i+1)/3=02下面的程序输出1 n(50=n=100) 之间的所有素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。#includ
7、e _(4)_int IsPrime(int );int main() int i,n; printf(请输入一个整数(=50且=100):); scanf(%d,&n); for(i=1;i=n;i+) if (_(5)_) printf(%5d,i); int IsPrime(int m) int i,k; if (m=1) return 0; k = sqrt(m); for(i=2;i=k;i+) if (m % i = 0) break; if (_(6)_) return 1; else return 0;(4)A.#include B.#include C.#include D.
8、#include (5)A.IsPrime(n)=1B.IsPrime(n)=0C.IsPrime(i)=1D.IsPrime(i)=0(6)A.i!=kB.i=mC.i=kD.i=k+13. 下列程序读入时间数值,将其加n(n60)秒后输出,时间格式为hh:mm:ss,当小时值等于24小时,从0开始计时。#includestructint hh,mm,ss; time;void main() scanf(“%d:%d:%d”,&time.hh, &time.mm, &time.ss); scanf(“%d”,&n);time.ss+=n; if( (7) ) (8) ; time.ss-=6
9、0; 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=60B.time.ss60C.time.ss=60D.time.ss24B.time.hh1) t=t0+t1; t0=t1; (10) ; n-;return t;程序段B:int f(int n) if( (11) ) return n; else return (12) ;(10)A.t1=t0B.t1=tC.t1=t-t0D.t1=t-t1(11)A.n0
10、B.n=0C.n1D.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-25下面的程序输入若干学生的成绩(到输入-1为止),并建立一个链表,遍历链表,统计并输出不及格的学生个数及其成绩。 #include#include#define LEN sizeof(struct line) #define NULL 0 struct line int num ; struct line *next ; ; void main() struct line *p1, *tail , *head ; int k , sum=0; p1 = head =
11、tail=NULL ; scanf(%d, &k) ; while (k!= -1) p1 = (struct line *) 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-numnum); sum+ ; printf(不及格人数为:%dn, sum) ;(13)A.tail-next=p1B.p1-next=tailC.tail=p1-nextD.p1
12、=tail-next(14)A.p1=tailB.tail=p1C.p1-next=tailD.tail-next=p1(15)A.tail!=NULLB.tail-next!=NULLC.p1!=NULLD.p1-next!=NULL得分三 编程题 (本大题共 4 题,每题 10 分,共 40 分。) 1编写程序,输入实数x值,按下式计算并输出y的值 +sinx x10 y = 0 x=10 2x3+6 x102输入2个正整数a(0a10)和n(0n10),求a+aa+aaa+aaa(n个a)之和。例如,输入2和3,则要求计算 2+22+222,应该输出246。请编写程序完成此功能,其中计算
13、n个a的值要求用自定义函数完成,函数格式为:long n_a(int a, int n),例如n_a(2,3)的返回值应该是222。3输入一个整数n(n50),再输入n个整数存入一个数组中,再输入一个整数x,在数组中查找X,输出找到的第一个x的数组下标位置,否则输出“Not Found!”。4文本文件file.txt中有若干行字符,请编写程序,读出文件中的字符,统计文件中数字字符的个数以及文件共有几行。年级:_ 专业:_ 班级:_ 学号:_ 姓名:_.装.订.线诚信应考 考出水平 考出风格浙江大学城市学院2006 2007 学年第 二 学期 期末考试答题卷 程序设计 开课单位: 计算分院 ;考试形式:闭卷;考试时间: 2007 年 7 月 13 日;所需时间: 120 分钟题序一二三总 分1234得分评卷人得分一 程序阅读题 (本大题共 6 题,每题 5 分,共 30 分。)把程序的运行结果填入相应的题号中。123456得分二 程序填空题 (本大题共 15 空,每空 2 分,共 30 分。)把正确的选择项填入相应的题号中。得分三 编程题 (本大题共 4 题,每题 10 分,共 40 分。) 1得分2得分3得分4
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1