江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2010年秋江苏二级C上机真题

    江苏省高等学校非计算机专业学生

    计算机基础知识和应用能力等级考试上机试卷(2010年秋)

    二级C语言  (试卷代号C01)

    (本试卷完成时间70分钟)

  一、改错题(16)

  【程序功能】

    查找介于n1n2(O<n1<n2<32768)之间所有满足下列条件的整数:(1)该数的十进

  制表示中有且仅有两个相同的数字位;(2)该数是素数。

  【测试数据与运行结果】

    测试数据:n1=900

             n2=1200

    屏幕输出:

    911    919     929    977    991    997    1009    1013

    1019   1021    1031   1033   1051   1061   1091    1103

    1109   1123    1129   1153   1163   1187   1193

  【含有错误的源程序】

    #inelude<stdio.h>

    #include<math.h>

    int validate(int n)

    {  int i,j,k=0,num[5]={0},size=0;

       do

       {  num[size]=n%10;

          n=n/10;

          size++;

       }while(n<0);

       for(i=0;i<size-1;i++)

         for(j=i+1;j<size;j++)

           if(num[i]==num[j])

            k=k+1;

      if(k>1)

        return 1;

      else

        return 0;

    }

    int prime(int)

    {  int i;

       for(i=2;i<=(int)sqrt(n);i++)

         if(n%i==0)retum 0;

      return 1;

    }

    void main()

    {  int i,count=0,n1,n2;

       scanf("%d%d",&n1,&n2);

       for(i=n1;i<=n2;i++)

       { if(validate(int i)&&prime(int i))

         {  count++;

           printf("%d\t",i);

           if(count%8==0)printf("\n");

         }

       }

    }

【要求】

1.  将上述程序录入到文件myf1.C,根据题目要求及程序中语句之间的逻辑关系对程序

  中的错误进行修改。

2.  改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预

    处理命令,但不能增加其他语句,也不能删去整条语句。

3.  改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。

 

二、编程题(24)

【程序功能】

  字符串变换。

【编程要求】

1.  编写函数void change(char *a,char *b,char *c)。函数功能是首先把b指向的字符串逆向存放,然后将a指向的字符串和b指向的字符串按排列顺序交叉合并到c指向的数组中,两个字符串中过长的剩余字符接在c指向数组的尾部。例如,a指向的字符串为

"abcdefg",b指向的字符串为"1324",C指向的数组中字符串应为"a4b2c3dlefg"

2.编写main函数。函数功能是声明字符型数组s1s2t,用测试数据初始化数组s1

 s2,再用s1s2t作为实参调用函数change,将数组s1s2t中的字符串输出到屏幕及文件myf2.out中。最后将考生本人的准考证号字符串输出到文件myf2.out中。

【测试数据与运行结果】

  测试数据:s1:abcdefg

    s2:1324

  屏幕输出:s1:abcdefg

           s2:4231

    The result is:a4b2c3dlefg

【要求】   

1.源程序文件名为myf2.c,输出结果文件名为myf2.out

2.数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

3.源程序文件和运行结果文件均需保存在T:盘根目录中供阅卷使用

4.不要复制扩展名为objexe的文件到T:盘中。