77范文网 - 专业文章范例文档资料分享平台

江苏省计算机二级考试C语言试卷汇编(2001-2005)(4)

来源:网络收集 时间:2019-02-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第三部分 江苏省二级统考近五年试题汇编

4、FILE *fp1, *fp2;long a[2]={ 12345678,12345678};执行:

fp1=fopen(“f1.dat”,”w”);fprintf(fp1,”%ld%ld”,a[0],a[1]);fclose(fp1); fp2=fopen(“f2.dat”,”wb”);fwrite(a,sizeof(long),2,fp2);fclose(fp2); f1,dat,f2.dat文件的长度分别是: (4) 字节和 (5) 字节。 ? 阅读程序(共7分)

5、以下程序运行后输出 (6) 。 #include

int f(char *s1,char *s2) { static int n1,n2; while(*s1++)n1++; while(*s2++)n2++; return n1-n2; }

main( )

{ printf(“%d”,f(“c:\\\\program”,”\\12a\\t34\\n”));} 6、下列程序运行后,x的值 (7) 。 main( ) { int x,y;

for(x=1,y=1;x<=100;x++) { if(y>=20)break;

if(y%3= =1){y+=3;continue;} y-=5; }

printf(“%d\\n”,x); }

7、以下程序运行后输出 (8) 。 #include #include main( )

{ char s[20]=”acef”,s1[ ]=”bd”; int i,j,k;

for(k=0;s1[k]!=’\\0’;k++)

{ j=0;while(s1[k]>=s[j]&&s[j]!=’\\0’)j++; for(i=strlen(s);i>=j;i--)s[i+1]=s[i]; s[j]=s1[k]; }

puts(s); }

8、以下程序运行后输出结果的第一行是 (9) ,第二行是 (10) 。 int m=5,n=7,a[10]={0,1,2}; voidf1(void); void f2(int m); main( ) { int i;

第三部分 江苏省二级统考近五年试题汇编

for(i=0;i<7;i++)f1( );

f2( 1);printf(“\\n%d,%d”,a[m],a[n]); }

void f1(void) { static int n=3;

a[n]=a[n-1]+a[n-2]+a[n-3];n++; }

void f2(int m) { for(;m<3;m+=2) { int m;

for(m=1;m<4;m++)

printf(“%d,”,a[m++]); } }

9、以下程序运行后输出结果的第一行是 (11) ,第二行是 (12) 。0 extern int m1,m2;

void fun(int n,int *p1,int *p2) { int i; *p1=1;*p2=1;

for(i=1;i<=n;i++){ *p1+=3;*p2*=3;} m1+=*p1;m2+=*p2; }

int m1,m2; main( )

{ int i,k1[4],k2[4]; for(i=0;i<4;i++)

fun(i,&k1[i],&k2[i]);

for(i=0;i<4;i++)printf(“%d,”,k1[i]); printf(:%d\\n”,m1);

for(i=0;i<4;i++)printf(“%d,”,k2[i]); printf(“%d”,m2); }

? 完善程序(共18分) 10、 以下程序中函数encode完成一字符串的加密功能。将s1字符串中的字符经过变换后保存在s2指向的数组中。二维数组cs保存了一个明码密码对照表,第一行是明码字符,第二行是对应的密码字符。加密方法如下:从s1字符串中每取一字符,均在cs表中第一行中查找有无该明码字符,若找到则将对应的密码字符放入存入s2中,否则将s1中的原有字符放入s2中。 #include #include

char cs[2][10]={“aceghjlnp”,”fonptiude”}; void encode(char *s1,char *s2) { int n,i,j;

for(n=0;s1[n]!=’\\0’;n++)

第三部分 江苏省二级统考近五年试题汇编

{ for(i=0;i<10&&s1[n]!=cs[0][i]; (13)) if(i<10)s2[n]= (14); else s2[n]= (15) ; }

s2[n]=’\\0’; }

main( )

{ char ts[80]=”jntwrnwt”,td[80]; encode(ts,td); puts(td); }

11、以下程序依次输入某单位没位职工的姓名和工资数(整数型),然后计算发放工资时所需发给每位职工的不同面值纸币张数,并计算总和以及累计所需不同币值纸币的张数。

#include #include struct {

char name[10]; /*姓名*/ int total; /*工资数*/

int mnum[7]; /*发放工资时所需不同币值纸币的张数*/ } st[21];

int mvalue[7]={100,50,20,10,5,2,1}; main( ) { FILE *fp;

int n=0,i,j,wage;

fp=fopen(“wage.dat”,”r”); if(fp= =NULL)exit(1); while(!feof(fp))

{ fscanf(fp,”%s%d”,st[n].name,&st[n].total); wage=st[n].total;

for(j=0;j<7&&wage;j++)

{ st[n].mnum[j]= (16) ; wage= (17) ; }

(18); }

strcpy(st[n].name,”summary”); for(i=0;i

{ st[n].total+=st[i].total; for(j=0;j<7;j++)

st[n].mnum[j]+= (19) ; }

for(i=0;i

{ printf(“\\n%s %d=”,st[i].name,st[i].total); for(j=0;j<7;j++)

第三部分 江苏省二级统考近五年试题汇编

printf(“%d “,st[i].mnum[j]); } }

12、以下函数的功能是以十进制字符形式打印出任一int型数。

#include void f(int n) { int j;

if(n<0){ putchar(‘-‘); (20) ;} if( (21)!=0)f(j); putchar( (22)+’0’); }

13、以下程序中函数maxmin的功能是:对于x中存储的任意一个四位整数,求出:(1)组成以这个整数的四个数字由大到小排列后构成的最大的四位数;(2)组成以这个整数的四个数字由小到大排列后构成的最小的四位数;。 #include”stdio.h”

void maxmin(int x,int *pmax,int *pmin) { int num[4],i,j,k,t; *pmax=0; *pmin=0; for(i=0;i<4;i++)

{ num[i]=x; x= (23) ;} for(i=0;i<3;i++) { k=i;

for(j=i+1;j<4;j++) if(num[k]

if( (24) ){t=num[i];num[i]=num[k];num[k]=t;} }

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

{ *pmax= *pmax *10+ (25) ; *pmin = *pmin *10+ (26) ; }

main( )

{ int n=3169,max=0,min=0; maxmin(n,&max,&min);

printf(“\\n%d%d”,max,min); }

14、设链表上的结点的数据结构定义如下:

struct node{ int x;

struct node *next; };

函数create的功能是:创建一个有序的链表(结点中x的值按升序排列),链表中结点的个数为参数n的值,函数返回该有序链表的头指针。算法思想如下:每产生一个新结点,插入到链表中的恰当位置,使得插入新结点后的链表仍然保持有序。

(27) creat(int n)

第三部分 江苏省二级统考近五年试题汇编

{ struct node *p, *p1, *p2, *h=NULL;int i=0; if(n<1)return NULL; while( (28) )

{ p=(struct node * )malloc(sizeof(struct node)); scanf(“%d”,&p->x);p->next=NULL; if(h= =NULL) (29) ; else

{ p1=p2=h;

while(p2&&p->x>=p2->x){p1=p2;p2=p2->next;} if( p2= =h){ (30);h=p;} else{p->next=p2;p1->next=p;} } i++; }

return h; }

2002年春上机试卷

一、改错题 【题目】

下面的程序能够从键盘上接受一个含有空格的字符串,然后按照字典序对所有字符排序,再删除重复出现的字符。

含有错误的源程序如下: #include \void main()

{char str[100],*p,*q,*r,c; printf(\ scanf(\ for(p=str;*p;p++) {for(q=r=p;*q;q++) if(*r>*q)*r=*q;

if(r/=p){c=*r;*r=*p;*p=c;} }

for(p=str;*p;p++)

{for(q=p;*p= =*q;q++); strcpy(p+1,q); }

printf(\} 【要求】

1.将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。

2.改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。

3.改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库江苏省计算机二级考试C语言试卷汇编(2001-2005)(4)在线全文阅读。

江苏省计算机二级考试C语言试卷汇编(2001-2005)(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/475681.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: