20209月全国计算机等级考试二级C语言上机题库(共55套全)
第一套
1 程序填空
给定程序的功能是:从键盘输入若干行文本(每行不得超过80个字符),写到文件中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadTextWriteText实现。
1void WriteText(FILE*fw)
2fputs(str,fw);fputs(“\n”,fw);
3printf(“%s”,str);
2 程序修改
给定程序MODI1.C函数fun的功能是:从低位开始取出长整形变量s中奇数位上的数,依次构成一个新数t中。高位仍在高位,低位仍在低位。
/**found**/
void fun(long s,long*t)
/**found**/
s1=s1*10;
3 程序设计
函数fun的功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c 数的十位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
void fun(int a,int b,long*c)
{
*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);
}
第二套
1 程序填空
给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。
1n++;flag=1;}
2if(*s= =’ ’)flag=0;
3s++;
2 程序修改
给定程序MODI1.C函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver 所指的存储单元中。
/
**found**/
t+=s[k];
/**found**/
*aver=ave;
3程序设计
请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元。
int fun(int *s,int t,int *k)
{
河南省教育招生办
int i,pos=0,max=*s;
for(i=1;i<t;i++)
{
if(max<*(s+i)){
max=*(s+i);
pos=i;
}}
*k=pos;
}
第三套
1 程序填空
给定程序中,函数fun的功能是计算下式s=3/22 5/4+7/62-…+(-1)n-1(2×n-1)/(2×n)2直到︱(2×n-1/(2×n
2)政审不合格8种情况︱≤10-3并把计算结果作为函数值返回,例如:若形参e的值为-le-3,函数的返回值为0.551690
1x=3.0/4;
2while(x>e)
3x=(2*i+1)/(t*t);
2 程序修改
给定程序MODI1.C函数fun的功能是:求出以下分数序列的前n项之和。2/1,3/2,5/2,8/5,13/8,31/13…和值通过函数值返回到main函数。
/**found**/
double fun(int n)
/**found**/
s=s+(double)a/b;
3 程序设计
请编写函数fun,它的功能是:求出一个2陕西高考分数线2020×M整型二维数组中最大元素的值,并将此值返回调有函数。
fun(int a[][M])
{全国中小学生安全教育平台
int i,j,max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j<M;j++)
if(max<a[i][j])
max=a[i][j];
return max;
}
第四套
1 程序填空
函数fun的功能是:把形参a所指数组中的的最小值放在元素a[0],接着把形参a所指数组中的最大值放a[1]元素中;再把a所指数组中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。
1max=min=a[i];
2if(max<a[j])
3if(min>a[j])
2 程序修改
给定程序MODI1.C函数fun的功能是:用递归算法计算列中第n项的值。从第一项起,斐波拉契数列为:1123581321 职位表大全……
河北省直成绩查询/**found**/
switch(g)
/**found**/
case 1:return 1;
case 2:return 1;
3 程序设计
某学生的记录由学号、8门课程和平均分组成,学号和8门课程成绩已在主函数中给出。请编写函数fun,它的功能是;求出该学生的平均分放在记录的ave成员中。
void fun(STREC *a)
{  int i;
for(i=0;i<N;i++)
  a->ave=a->ave+a->s[i];
a->ave/=N
}
第五套
1 程序填空
给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。
1 void fun (int) (*t)[N]
2 t[i][j]=t[i][j]+t[j][i];
3 t[j][i]=0;
2程序修改
给定程序MODI1.C函数fun的功能是:计算函数值,Fx,y,z=(x+y)/(x-y)+(z+y)/(z-y)其中xy的值不等,zy的值不等。例如,当x的值为9y的值为11z的值为15时,函数值为-3.50
/**found**/
#define FU(m,n)  ((m)/(n))
/**found**/
return  (value);
}
3程序设计
规定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。
void fun (char *a)
{
int j=0;
char *p=a;
while (*p=='*')p++;
while (*p){
a[j++]=*p;
p++;
}
a[j]=0;
}
第六套
1.  程序填空
      给定程序中,函数fun的功能是:将形参s所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。
第一处 t[j]=s[i];j++;
第二处 for(i=0;i<k;i++)
t[j+i]=p[i];
第三处 t[j+k]=0;
2.  程序修改
        给定程序MODI1.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的
数组中。在此处,要求t1t2所指字符串的长度相同。
/**found**/
while(*w)
/**found**/
if(*r==*p)
3.  程序设计
      函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。
void fun(char *s,char t[])
{ int i,j=0;
for(i=0;i<strlen(s);i++)
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
}
第七套
1. 程序填空
        程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。
第一处 struct student *
        fun(struct student*a)
第二处 for(i=0;i<3;i++)
a->score[i]+=1;
第三处 return a;
2.  程序修改
给定程序MODI1.C中函数fun的功能是:从N个字符串中出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放在一个字符串数组中。
/**found**/
char *fun(char (*sq)[M])
/**found**/
return sp;
3.  程序设计
      函数fun的功能是:将ab中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。