小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx

上传人:b****0 文档编号:541694 上传时间:2022-10-11 格式:DOCX 页数:39 大小:25.43KB
下载 相关 举报
小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx_第1页
第1页 / 共39页
小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx_第2页
第2页 / 共39页
小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx_第3页
第3页 / 共39页
小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx_第4页
第4页 / 共39页
小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx

《小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx》由会员分享,可在线阅读,更多相关《小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx(39页珍藏版)》请在冰豆网上搜索。

小学教育四川省计算机等级考试二级C语言机试题第二十八次文档.docx

小学教育四川省计算机等级考试二级C语言机试题第二十八次文档

四川省计算机等级考试二级C语言机试题(第二十八次)

2009-11-0616:

45

四川省计算机等级考试二级C语言机试题(第二十八次)

2009-03-2916:

44:

17

(第一套)

(60分钟)

一、程序调试题(40分)

磁盘上有一C程序test1-1.c,其功能是:

将具有N个元素的数组的后m个元素移到前m个位置。

例如,若输入m=3,数组元素为:

12345678910,则输出结果为:

89101234567。

要求将结果显示在屏幕上并写入文件test1-1.dat中。

请更改程序中的错误,使程序能得出正确结果。

注意:

不得增行或删行,也不得更改程序结构。

源程序如下:

#include"stdio.h"

#defineN10

voidmain()

{inta[N],k,m,r,*t;

FILE*fp;

fp=fopen(test1-1.dat,"w");

if(fp==NULL)

{printf("notopen!

\n");

   exit(0);   

}

printf("\nInputm:

");

scanf("%d",m);

printf("\nInput10numbers:

\n");

for(k=0;k

   scanf("%d",a);

for(r=0;r

{t=a[N-1];

   for(k=N-1;k>0;k--)

     a[k]=a[k-1];

   a[k]=t;

}

for(k=0;k

{printf("%4d",a[k]);

   fprintf(fp,"%4d",a[k]);

}

fclose(fp);

}

二、编写程序test1-2.c(60分)

编写函数fun,函数fun的功能是:

求出满足“百位减十位等于个位”的所有三位整数,并按降序存入形参数组a中,满足条件下的三位数总个数作为函数值返回。

main函数中调用函数fun,并按一行5个数输出结果。

(第二套)

(60分钟)

一、程序调试题(40分)

磁盘上有一个名为test2-1.c的C程序,其功能是将一个文本文件test2-1.in逐行逆置复制到另一个文件test2-1.out中。

test2-1.out文件名在命令行中给出。

请改正程序中的错误,使程序能得出正确的结果。

注意:

不得增行或删行,也不得更改程序结构。

源程序如下:

#include"stdio.h"

#include"conio.h"

voidrev(void);

FILE*f1,*f2;

voidmain(intargc,char*argv[])

{charch;

if(argc>2)

{printf("paramelersmissing!

\n");

   exit(0);

}

if((f1=fopen(*argv[1],"w"))==NULL)

{printf("cannotopenfile1!

\n");

   exit(0);

}

if((f2=fopen("test2-1.in","r"))==NULL)

{printf("cannotopenfile2!

\n");

   exit(0);

}

while(!

feof(f2))

{voidrev();

   fputc('\n',f1);

}

fclose(f1);

fclose(f2);

}

voidrev(void)

{charc;

if(!

feof(f2)||((c=fgetc(f2))!

='\n'))

{rev();

   fputc(c,f2);

}

}

二、编写程序test2-2.c(60分)

从键盘上输入整数m和k,将大于且紧靠m的k个素数存入数组xx中,将结果显示在屏幕上。

要求:

(1)在num函数中完成找出紧靠m的k个素数,并存入数组xx中。

函数num的定义形式为:

voidnum(intm,intk,intxx[])

(2)main函数完成数据的输入和输出。

(第三套)

(60分钟)

一、程序调试题(40分)

磁盘上有一个名为test3-1.c的C程序文件,其中函数fun的功能是:

找出被2、3、5整除时余数均为1的最小的10个自然数,并存放到一个整型数组中。

在main函数中调用函数fun,输出最后结果,并将结果输出到文本文件test3-1.txt中。

请改正程序中的错误,使其能得到正确的结果。

注意:

不得增行或删行,也不得更改程序结构。

源程序如下:

#include

voidfun(inta[])

{

inti;

intcnt=0;

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

   if(i%2==1||i%3==1||i%5==1)

   {a[cnt]=i;

     cnt++;

   }

}

voidmain()

{

inta[10];

inti;

FILE*fp;

if((fp=fopen("test3-1.txt","w"))==null)

{printf("Cannotopenthefile.\n");

   exit(0);

}

fun();

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

{printf("%4d",a[i]);

   fprintf("%4d",a[i]);

}

fclose(fp);

}

二、编写程序test3-2.c(60分)

按要求编写程序:

(1)编写函数fun,其功能是:

统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中。

例如:

形参s所指字符串为:

abcdef35agd3khe7,则数字出现的次数为4次。

(2)在main函数中,从已有文件test3-2.in中读出一行字符(字符个数不超过80个)到字符数组str中,调用函数fun,统计出数字出现的次数,并在屏幕上输出结果。

四川省计算机等级考试二级C语言机试题(第二十七次)

2009-11-0616:

46

四川省计算机等级考试二级C语言机试题(第二十七次)

2009-03-2916:

43:

11

(第一套)

(60分钟)

一、程序调试题(40分)

磁盘上有一个名为test1-1.c的C程序,其功能是:

利用折半查找法查找整数m在含有N个有序整数的一维数组中的位置。

若找到,则返回其下标,反之,则返回-1。

请更改程序中的错误,使之能输出正确结果。

注意:

不得增行或删行,也不得更改程序结构。

源程序如下:

#include"stdio.h"

#defineN10

voidfun(inta[],intm)

{intlow=0,high=N-1,mid;

while(low<=high)

{mid=(low+high)%2;

   if(m

     high=mid-1;

   elseif(m>a[mid])

          low=mid+1;

        else

          return;

}

return-1;

}

voidmain()

{

inti,a[]={-3,4,7,9,11,13,45,60,66,70},k,m;

printf("\narraya:

\n");

for(i=0;i

   printf("%d,",a[i]);

printf("\n\nEnterm:

\n");

scanf("%d",m);

k=fun(a[N],m);

if(k>=0)

   printf("m=%d,index=%d\n",m,k);

else

   printf("Notbefound!

\n");

}

二、编写程序test1-2.c(60分)

   用指针编程实现:

将用户输入的由数字字符和非数字字符组成的字符串(字符个数不超过256个)中的数字提取出来,例如:

输入“asd123rt456,lg789”,则提取的数字分别是123、456和789。

将结果显示在屏幕上,同时输出到文件test1-2.dat中(要求每个数字一行)。

(第二套)

(60分钟)

一、程序调试题(40分)

磁盘上有一个名为test2-1.c的C程序,其功能是统计字符串中大写字母的个数。

在main函数中输入一个字符串(字符个数不超过80个),并输出统计结果。

在UpperNum()函数中统计字符串str中的大写字母个数,并作为函数值返回。

注意:

不得增行或删行,也不得更改程序结构。

源程序如下:

#include"stdio.h"

#include"ctype.h"

intUpperNum(charstr[])

{

intn,i=0;

while((str+i))

{

   if(isupper(str[i]))

     n++;

   i++;

}

returni;

}

voidmain()

{

charstr[];

printf("\nInputastring:

\n");

gets(str);

printf("\nTheNumberofUpperLetteris:

%d\n",UpperNum(str[]));

}

二、编写程序test2-2.c(60分)

按要求编写程序:

(1)编写一个字符串比较函数mystrcpy,其功能是:

对两个字符串进行比较,若这两个字符串相等,则返回0,若这两个字符串不等,则返回它们第一个不同字符的ASCII码之差。

(2)编写main函数:

从文件test2-2.dat中读两个字符串分别赋给两个一维字符数组,调用mystrcpy函数,输出比较结果。

(第三套)

(60分钟)

一、程序调试题(40分)

磁盘上有一个名为test3-1.c的C程序文件,其功能是:

从键盘上输入一个100~1000之间的数,找出其中三位数字相等的所有整数并输出。

请改正程序中的错误。

注意:

不得增行或删行,也不得更改程序结构。

源程序如下:

#include"stdio.h"

#defineN100

intfun(ints,intn)

{inti,j,k,a,b,c;

j=0;

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

{

   k=j;

   a=k%10;

   k/=10;

   b=k%10;

   k/=10;

   c=k;

   if(a==b||a==c)

     s[j++]=i;

}

returni;

}

voidmain()

{

inta[N],n,num=0,i;

do

{printf("Entern(100~1000):

\n\n");

   scanf("%d",&n);

}while(n>1000)

num=fun(a,n);

printf("\n\nTheresult:

\n");

for(i=0;i

   printf("%5d",a[i]);

printf("\n");

}

二、编写程序test3-2.c(60分)

按要求编写程序:

(1)编写函数fun,其功能是:

统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中。

例如:

形参s所指字符串为:

abcdef35agd3k

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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