江苏省计算机二级C(试题+答案)

江苏省计算机等级考试二级C上机考试模拟试题
试题 1
一、改错题(18分)
【题目】
函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。
含有错误的程序如下:
#include <conio.h>
#include <stdio.h>
#define  M  5
int  fun(int n,int xx[][])
{ int i,j,sum;
  printf("\nThe %d x %d matrix:\n",M,M);
  for(i=0;i<M;i++)
  {  for(j=0;j<M;j++)
      printf("%f",xx[i][j]);
    printf("\n");
  }
  for(i=0;i<n;i++)
    sum+=xx[i][i]+xx[i][n-i];
  return(sum);
}
main( )
{int aa[M][M]={ {1,2,3,4,5},{4,3,2,1,0},
{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
  clrscr( );
  printf ("\nThe sum of all elements on 2 diagnals is %d.",fun(M,aa));
}
【要求】
  1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
  2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译处理命令,但不能增加其他语句,也不能删去整条语句。
3.改正后的源程序(文件名myf1.c)必须放在考试软盘的根目录下,供阅卷用,否则不予评分。
二、编程题(22分)
【题目】
1.编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符平移到字符串的最后,把第m+1到最后的字符串移到字符串的前部。例如:字符串中原有的内容为:ABCDEFGHIJKm的值为3,则移动后,字符串中的内容应该是:DEFGHIJKABC
2.编写main函数,在main函数中初始化一个字符串,调用函数fun,将结果字符串及函数返回值写入到文件myf2.out中。
【要求】
1.源程序文件名必须取为myf2.c,输出结果文件名为myf2.out
2.数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。
3.源程序文件和运行结果文件均需要保存在考试软盘的根目录中供阅卷使用。
4.不要复制扩展名为objexe的文件到考试软盘上
试题 2
一、改错题(18分)
【题目】
函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。
例如,在调用fun函数之前给a输入字符串:ABCDEFGHIJK,
调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。
含有错误的程序如下:
#include <stdio.h>
void  fun(char  *p, char  *b)
{  int  i, k=0;
  while(*p)
  {  i=1;
      while( i<3 && *p )
{
          b[k]=p;
          k++; p++; i++;
          }
      if(*p)
      {
        b[k++]=" ";
      }
    }
    b[k]= ''\0'';
}
main()
{  char  a[80],b[80];
  printf("Enter a string:      ");  gets(a);
  printf("The original string: ");  puts(a);
  fun(a,b);
  printf("\nThe string after insert space:  ");
puts(b); printf("\n\n");
}
【要求】
  1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
  2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译处理命令,但不能增加其他语句,也不能删去整条语句。
3.改正后的源程序(文件名myf1.c)必须放在考试软盘的根目录下,供阅卷用,否则不予评分。
二、编程题(22分)
【题目】
1.编写main函数,将N名学生的成绩在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。并调用函数fun,将结果及函数返回值写入到文件myf2.out中。
2.请编写函数fun,它的功能是:求出这N个学生的平均分,由函数值返回。
例如,若学生的成绩是:8576698591726487,则平均分应当是:78.625
【要求】
1.源程序文件名必须取为myf2.c,输出结果文件名为myf2.out
2.数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。
3.源程序文件和运行结果文件均需要保存在考试软盘的根目录中供阅卷使用。构建和谐社会的意义
4.不要复制扩展名为objexe的文件到考试软盘上。
试题 3
一、改错题(18分)
【题目】
N个有序整数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查算法查整数m在数组中的位置。若到,则返回其下标值,反之,则返回-1
提示:折半查的基本算法是:每次查前先确定数组中待查的范围,lowhigh,然后把m与中间位置(远程浏览器隔离mid)中元素的值进行比较,如果m的值大于中间位置元素中的值,则下一次的查范围放在中间位置之后的元素中,反之,下一次的查范围落在中间位置之前的元素中。直到low<high,查结束。
含有错误的程序如下:
include <stdio.h>
#define N 10
void fun (int a[ ], int m)
{ int low=0, high=N-1, mid;
while (low<=high)
{ mid=(low+high)/2;
if(m<=a[mid])
high=mid-1;
else if (m>=a[mid])
low=mid+1;
return (mid);
}
return (-1);
}
main ()
{ int i, a[N]={-3,4,7,9,13,45,67,89,100,180}, k, m;
printf (“a数组中的数据如下:”);
for (i=0; i<N; i++) printf (“%d”, a[i]);
printf (“Enter m: “); scanf(“%d”,&m);
k=fun (a, m)
if (k>=0) printf(“m=%d,index=%d\n”, m,k);
else printf (“Not be found!\n”);
}
【要求】
1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译处
理命令,但不能增加其他语句,也不能删去整条语句。
3.改正后的源程序(文件名myf1.c)必须放在考试软盘的根目录下,供阅卷用,否则不予评分。
二、编程题(22分)
【题目】
1.编写函数fun,它的功能是:将34列矩阵x乘以43列矩阵y,结果放在33列矩阵xy中。矩阵相乘的基本方法是:矩阵xy中行列下标分别为i,j的元素的值,是矩阵x中第i卷积运算行上4个元素与矩阵y中第j列上4个元素对应相乘的和。
例如:矩阵x,矩阵y,则矩阵xy
2.编写main函数,初始化两个数组,调用函数fun,将结果矩阵及函数返回值写入到文件myf2.out中。
【要求】
1.源程序文件名必须取为myf2.c,输出结果文件名为myf2.out
2.数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。
3.源程序文件和运行结果文件均需要保存在考试软盘的根目录中供阅卷使用。
4.不要复制扩展名为objexe的文件到考试软盘上
试题 4
一、改错题(18分)
【题目】
函数fun的功能是:将m1m10)个字符连接起来,组成一个新串,放入pt所指字符串中。例如:把3个串:“abc”,“CD”,“EF”串连起来,结果是“abcCDEF”。
含有错误的程序如下:
#include <conio.h>
#include <stdio.h>
#include <string.h>娶中国太太的下场
int fun(char str[][],int m, *pt)
{
int k,q,i;
for(k=0;k<m;k++)
{ q=strlen(str[k]);
for(i=0;i<q;i++)
pt[i]=str[k,i];
pt+=q;
pt[0]=0;
}
}
main( )
{ int m,h;
char s[10][10],p[120];
clrscr( );
printf("\nPlease enter m:");
scanf("%d",&m); gets(s);
printf("\nPlease enter %d string:\n",m);
烟草专卖品准运证管理办法for(h=0;h<m;h++) gets(s[h]);
fun(s,p,m);
printf("\nThe result is :%s\n",p);
NONO( ); /*本函数与考生答题无关,考生不得改动,否则后果自负。*/
}
【要求】
1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译处理命令,但不能增加其他语句,也不能删去整条语句。
3.改正后的源程序(文件名myf1.c)必须放在考试软盘的根目录下,供阅卷用,否则不予评分。
二、编程题(22分)
台湾
【题目】
1.编写一个函数void fun (int array[ ], int n),将array数组中的前n个整数按从大到小的顺序排序。

本文发布于:2024-09-20 20:27:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/599387.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   文件   语句   考试   字符串   结果   查找
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议