h1 1 9 0 试完善函数sea_del以达到要求的功能: NODE *sea_del(NODE *h1,NODE *h2) { NODE *p,*ph,*q,*s;
ph=NULL; p=q=h1; s=h2;
if(h1==NULL|| (27) ) return h1; while(p!=NULL&&s!=NULL) {while(q->data==s->data&&q&&s) { q=q->next;
s= (28) ; }
if(s!=NULL)
{ ph=p;
p=q=q->next; s= (29) ; }
else
if(ph==NULL) h1=q; else ph->next=q; }
(30) ; }
参考答案
一.
21.D 22.D 23.A 24.C 25.C 26.D 27.A 28.B 29.C 30.B
二.
1. 1.0/3 2. G 3. 2 4. 5 5. a=3 6. 10 7. 2,1 8.13 11 12 9. 5 10. 7 11.8 12. 221 13. 1 1 14. 1 3 3 1 15. 321 16. 14325 17. -1 18 invisible 19. *p!=?\\0? 20. *p-?0? 21. n/2 22. min=i,max=n-i-1 23.k++ 24.strcpy(&s1[i],s3) 25. strcpy(&s1[i],temp) 26. k 27. h2==NULL 28. s->next 29. h2 30.return h1
2010春 二级 C语言上机试卷
一、改错题(16分) 【程序功能】
验证3(n范围内的任意两个相邻素数的平方之间至少存在4个素数。例如,5和7是两个相邻素数,5^2(25)与7^2(49)之间存在6个素数:29 31 37 41 43 47。 【测试数据与运行结果】 显示:input n:
输入:10 输出: 3~5 k=5
11 13 17 19 23 5~7 k=6
29 31 37 41 43 47 【含有错误的源程序】 #include
for(i=1;i<=sqrt(n);i++) if(n%i==0)flag=0; return flag; }
int fun(int a[],int n) { int i,k=0;
for(i=3;i<=n;i++)
if(prime(i)) a[k++]=i; return k;
? void fun1(int m,int n, int b[]) { int i,k=0;
if(m>n) return 0; for(i=m*m;i void main() {int a[50]={0},b[100]={0},i,m,k,j,n; printf(\:\ scanf(\ m=fun(a,n); for(i=O;i {k=fun1(a,a[i+1],b[O]); printf(\ k=%d\ if(k<4){printf(\ for(j=0;j {if(j=O)prinff(\ printf(\ } printf(\ } getch(); } 【要求】 1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。 2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。 3.改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。 二、编程题(24分) 【程序功能】 在给定范围内查找k使得用公式k^2+k+17生成的整数满足以下条件:该数的十进制表示中低3位数字相同,去掉低3位后的整数是回文数。例如,当k=461时用公式生成的整数 是212999,该数满足所给条件。 【编程要求】 1.编写函数int findnum(int n1,int n2,long a[][2])实现以下功能:k依次取n1~n2范围 内的每个整数,分别用每个k及公式k2+k+17生成整数y,若y满足给定条件,则将k值及y 值保存到a指向的数组中,函数返回a数组中k的个数。 2.编写函数main实现以下功能:声明二维数组a和变量n1、n2,输入两个整数并保存到 n1、n2中,用n1、n2及a数组作实参调用findnum函数,按所给格式输出a数组中的数据到屏 幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。 【测试数据与运行结果】 输入:n1=1,n2=10000 输出:k number 461 212999 586 343999 3839 14741777 【要求】 1.源程序文件名为myf2.c,输出结果文件名为myf2.out。 2.数据文件的打开、使用、关闭均用c语言标准库中缓冲文件系统的文件操作函数实现。 3.源程序文件和运行结果文件均需保存在T:盘根目录中供阅卷使用。 4.不要复制扩展名为obj和exe的文件到T:盘中。 参考答案 一、改错题 for(i=1;i<=sqrt(n);i++) 改为i=2 void fun1(int m,int n,int b[]) 改为int {k=fun1(a,a[i+1],b[0]); 改为b {if(j=0)printf(\ 改为j==0 二、编程题 #include int findnum(int n1,int n2,long a[][2]) { int i=0,j; long x1,x2,x3,y,k; for(k=n1;k<=n2;k++) {y=k*k+k+17; x1=x2=y/1000;x3=0; while(x1>0) {x3=x3*10+x1;x1=x1/10;} if(x2==x3&&y==y/10&&y==y/100) { a[0]=k;a[i++][1]=y; } } return i; } main() {int i,j;long a[10][2],n1,n2; FILE *fp; fp=fopen(\ scanf(\ j=findnum(n1,n2,a); printf(\ for(i=0;i for(i=0;i 2011春第一部份 计算机基础知识 1、下列有关通信技术的叙述中,错误的是___1_____。 A 无论是模拟通信还是数字通信,目前都是通过载波技术实现远距离的信息传递 B. 多路复用技术可以降低信息传输的成本,常用的多路复用技术有TDM和FDM C. 卫星通信属于微波通信,它是微波接力通信技术和空间技术相结合的产物 D. 目前3G移动通信有多种技术标准,我国三大电信运营商均采用同一标准 注释:3G存在四种标准:CDMA2000,WCDMA,TD-SCDMA,WiMAX。国内支持国际电联确定三个无线接口标准,分别是中国电信的CDMA2000,中国联通的WCDMA,中国移动的TD-SCDMA 2、使用存储器存储二进位信息时,存储容量是一项很重要的性能指标。存储容量的单位有