2023年全国计算机等级考试二级c语言上机精选题库(共99套)
.第1套
填空题
请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:0 1 1 2 3 5 8 13…..
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
int fun(int n);
main()
{
int i, n = 0;
scanf("%d", &n);
for (i=0; i<n; i++)
printf("%d ", fun(i));
}
int fun(int n)
{
if (___1___)
return 0;
else if (___2___)
return 1;
else
return ___3___;
}
第1处填空:n==0或0==n或!n
第2处填空:n==1或1==n
第3处填空:fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)
改错题
下列给定程序中,函数FUN的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序: #include <stdio.h>
#include <string.h>
void fun(char *p, char *q, char *c)
{
*/********found********/
*int k = 1;
*/********found********/
*while (*p != *q)
*{
**if (*p < *q)
***c[k] = *q;
**else
***c[k] = *p;
**if (*p)
***p++;
**if (*q)
***q++;
**k++;
*}
}
main()
{
*char a[10] = "aBCDeFgH", b[10] = "ABcd", c[80] = {'\0'};
*fun(a, b, c);
*printf("The string a:");
*puts(a);
*printf("The string b:");
*puts(b);
*printf("The result:");
*put s(c);
}
第1处:int k=1应改为int k=0;
第2处:while(*p!=*q)应改为while(*p||*q)
编程题
请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7或11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:#include <conio.h>
#include <stdio.h>
void fun(int *a,int *n)
{
}
main()
{
*int aa[1000],n,k;
*FILE *out;
*fun(aa,&n);
*out=fopen("out.dat", "w");
*for(k=0;k<n;k++)
**if((k+1)%10==0)
**{
***printf("%5d\n",aa[k]);
***fprintf(out, "%d\n", aa[k]);
**}
**else
**{
***printf("%5d,",aa[k]);
***fprintf(out, "%d,", aa[k]);
**}
*fclose(out);
}
答案是:
void fun(int *a,int *n)
{
int i,j=0;
for(i=2;i<1000;i++)
if( (i%7==0||i%11==0)&&i%77!=0)
a[j++]=i;
*n=j;
}
第2套
填空题
请补充FUN函数,FUN函数的功能是求10的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,
仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
long fun(int n)
{
*if (___1___)
**return (n*fun(___2___));
*return ___3___;
}
main()
{
*printf("10!=%ld\n", fun(10));
}
第1处填空:n>1或1<n
第2处填空:n-1
第3处填空:1或11或1L
改错题
下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <conio.h>
#include <stdio.h>
/********found********/
IsPrime(int n);
{
*int i, m;
*m = 1;
*/********found********/
*for (i=2; i<n; i++)
**if !(n%i)
**{
***m = 0;
***break;
**}
*return(m);
}
main()
{
*int j, k;
*printf("\nplease enter an integer number between 2 and 10000:");
*scanf("%d", &k);
*printf("\n\nThe prime factor(s) of %d is(are):", k);
*for (j=2; j<k; j++)
**if ((!(k%j)) && (IsPrime(j)))
***printf(" %4d,", j);
*printf("\n");
}
第1处:Isprime(int n);应改为Isprime(int n)
第2处:if !(n%i)应该为if(!(n%i))
编程题
M个人的成绩存放在score数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below所指的数组中。
例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的认输应该是4,below中的数据应我10、20、30、40。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <conio.h>
#include <stdio.h>
#include <string.h>
int fun(int score[],int m, int below[])
{*
*
}
main()
{
*int i,n,below[9];
*int score[9]={10,20,30,40,50,60,70,80,90};
*FILE *out;
*n=fun(score,9,below);
*printf("\nBelow the average score are :");
*out=fopen("out.dat", "w");
*for(i=0;i<n;i++)
*{
**printf("%d ",below[i]);
**fprintf(out, "%d\n", below[i]);
*}
*fclose(out);
}
答案是:
int fun(int score[], int m, int below[])
{
int I, k=0,aver=0;
for(i=0;i<m;i++)
aver+=score[i];
aver/=m;
for(i=0;i<m;i++)
if(score[i]<aver)
{
below[k]=score[i];
k++;
}
return k;
}
第3套
填空题
请补充函数FUN(CHAR *S),该函数的功能是把字符串中的内容逆置.
例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba.
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include <string.h>
#include <conio.h>
#include <stdio.h>
#define N 81
void fun(char *s)
{
*int i, n = strlen(s)-1;
*char t;
*for (i=0; i<n; i++, ___1___)
*{
**t = s[i];
**___2___;
**___3___;
*}
}
main()
{
*char a[N];
*printf("Enter a string:");
*gets(a);
*printf("The original string is:");
*puts(a);
*fun(a);
*printf("\n");
*printf("The string after modified:");
*puts(a);
}
第1处填空:n--或--n或n-=1或n=n-1
第2处填空:s[i]=s[n]或*(s+i)=*(s+n)
第3处填空:s[n]=t或*(s+n)=t
改错题
下列给定的程序中,函数fun的功能是:依次取出字符串中所以数字字符,形成新的字符串,并取代原字符串。
请改正函数fun中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:#include <stdio.h>
#include <conio.h>
void fun(char *s)
{
*int i, j;
*/********found********/
*for (i=0, j=0; s[i]!='\0'; i++)
**if (s[j]>='0' && s[i]<='9')
***s[j] = s[i];
*/********found********/
*s[j] = "\0";
}
main()
{
*char item[80];
*printf("\nEnter a string :");
*gets(item);
*printf("\n\nThe string is : %s\n", item);
*fun(item);
*printf("\n\nThe string of changing is : %s\n", item);
}
第1处:s[j]=s[i];应改为s[j++]=s[i]
第2处:s[j]=”/0”;应改为s[j]=’\0’;
编程题
请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在 pp所指的数组中,这些除数的个数通过形参 n返回.
例如,若x中的值为 30,则有 4个数符合要求,它们是 1,3,5,15.
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:#include <conio.h>
#include <stdio.h>
void fun(int x, int pp[], int *n)
{
}
main()
{
*int x, aa[1000], n, i;
*FILE *out;
*printf("\nPlease enter an integer number:\n");
*scanf("%d",&x);
*fun(x,aa,&n);
*for(i=0;i<n;i++)
**printf("%d ", aa[i]);
*printf("\n");
*fun(730, aa, &n);
*out = fopen("out.dat", "w");
*for (i = 0; i < n; i++)
**fprintf(out, "%d\n", aa[i]);
*fclose(out);
}
答案是:
void fun(int x,int pp[],int *n)
{
int i=1,j=0,k=0,*t=pp;
for(i=0;i<=x;i++)
if(i%2!=0)
{
t[j]=i;
j++;
}
for(i=0;i<j;i++)
if(x%t[i]==0)
{
pp[k]=t[i];
k++;
}
*n=k;
}
第4套
填空题
请补充函数FUN,它的功能是:计算并输出N(包括N)以内能被3或7整除的所有自然数的倒数之和。
例如,在主函数中从键盘给N输入30后,输出为:S=1.226323。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序: #include <stdio.h>
double fun(int n)
{
*int i;
*double sum = 0.0;
*for (i=1; ___1___; i++)
**if (i%3==0 ___2___ i%7==0)
***sum += ___3___/i;
*return sum;
}
main()
{
*int n;
*double s;
*printf("\nInput n: ");
*scanf("%d", &n);
*s = fun(n);
*printf("\n\ns=%f\n", s);
}
第1处填空:i<=n或n>=i
第2处填空:||
第3处填空:1.0或(double)1
改错题
下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AaaaBBb123CCccccd,则应输出结果:upper=6,lower=8
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <conio.h>
#include <stdio.h>
/********found********/
void fun(char *s, int a, int b)
{
*while (*s)
*{
**/********found********/
**if (*s>='A' && *s<='Z')
***a++;
**/********found********/
**if (*s>='a' && *s<='z')
***b++;
**s++;
*}
}
main()
{
2023年全国计算机等级考试二级c语言上机精选题库(共99套)2023年全国计算机等级考试二级c语言上机精选题库(共99套)
第1套填空题请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:0 1 1 2 3 5 8 13..请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。试题程序:#include <stdio.h>int fun(int n);main(){int i, n = 0;scanf("%d", &n);for(i=0; i<n; i++)printf("%d ", fun(i));}int fun(int n){if(_1_)return 0;else if(_2_)return 1;elsereturn _3_;}第1处填空:n==0或0==n或!n第2处填空:n==1或1==n第3处填空:fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)改错题下列给定程序中,函数FUN的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <stdio.h>#include <string.h>voi
2023年全国计算机等级考试二级c语言上机精选题库(共90套)
2023年9月全国计算机考试二级C语言上机题库(打印版)
2023年历年全国计算机等级考试二级C语言上机考试题库及答案
1.填空给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文献中。请在程序的下划线处填入对的的内容并把下划线删除,是程序得出对的的结果。注意:源程序存放在考生文献夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(_1_ *std){/**********found**********/_2_ *fp;int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutput data to file!\n");for(i=0; i<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, _3_);fclose(fp);return(1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。请改正程序中的错误,使他能得出对的的结果。注意:不要改动main函数,不能增行或删行,也不得更改程序的结构
2023年9月全国计算机等级考试二级C语言上机题库(共60套全)
第一套1 程序填空人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指出的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。第1处if(std[i].year==year)第2处k[n++]=std[i];第3处return(n); 1程序修改给定程序MODI1.C中函数fun的功能是:读入一个整数k(2k10000)打印它的所有质因子(即所有为素数的因子)。/**found**/IsPrime(int n)/**found**/if(!(n%i))2程序设计已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写给函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分),已给出函数的首部,请完成函数。fun(STU a[],STU *s){int i, max = a[0].s, j=0;for(i=1; i<N;i++){ if(max<a [i].s){j=i;max =a[i].s; }*s=a[j];}第二套1程序填空给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如:若N
2023年全国计算机等级考试二级C语言上机训练题库及答案(精品)
2023年全国计算机等级考试二级C语言上机题库试题答案
2023年6月全国计算机等级考试二级C语言上机题库(最全)
2023年全国计算机等级考试二级C语言上机题库(含答案)
考点 或 配套 习题 — 突击 冲刺 训练 专用 材料 整理 汇编 学习 资料 整理 汇编 ( 考点 或 配套 习题 突击 训练 ) 第 1 页 , 共 90 页 9 / 6 考点 或 配套 习题 — 突击 冲刺 训练 专用 材料 整理 汇编 2023 年 全国 计算机 等级 考试 二 级 C 语言 上机 题库 ( 70 套 ) 2023 年 9 月 全国 计算机 等级 考试 二 级 C 语言 上机 题库 ( 共 70 套 全 ) 第 一 套 I 程序 填空 给定 程序 中 , 函数 fun 的 功能 是 : 反 形参 a 所 指数 组 中 的 最大 值 放在 a [ 0 ] 中 , 接着 求 出 a 所 指数 组 中 的 最小 值 放在 a [ l ] 中 ; 再 把 a 所 指数 组 元素 中 的 次 大 值 放在 a [ 2 ] 中 , 吧 a 组 元素 中 的 次 小 值 放在 a [ 3 ] 中 , 依此类推 。 第 1 处 void fun ( int * a , int n ) 第 2 处 for ( i = 0 ; i < n - l ; i + = 2 ) 第 3 处 for ( j = i + l ; j < n ; j + + ) 2 程序 修改 给定 程序 modil . c 中 函数 fun 函数 功能 是 : 按 顺序 给 s 所 指数 组 中 元素 赋予 从 2 开 始 的 偶数 , 然后 再 按 顺序 对 每 五 个 元素 求 平均 值 , 并 将 这些 值 依次 存放 在 w 所 指 的 数 组 中 , 若 s 所 指数 组 中 元素 个数 不是 5 的 倍数 , 多余 部分 忽略 不 计 。 / * * found * * / sum = 0 . 0 ; / * * found * * / if ( ( i + l ) % 5 = = 0 ) 3 程序 编写 学生 的 记录 由 学号 和 成绩 组成 , N 名 学生 的 数据 已 在 主 函数 中 放 入 结构 体 数 组 s 中 , 低于 平均 分 的 学生 人数 通过 形参 n 传回 。 平均 分 通过 函数 值 返回 。 double fun ( STREC * a , STREC * b , int * n ) ( int i ; double ave = 0 . 0 ; * n = 0 ; for ( i = 0 ; i < N ; i + + ) ave = ave = a [ i ] . S ; ave / = N ; for ( i = 0 ; i < N : i + + ) if ( a [ i ] . s < ave ) { b [ * n ] = a [ i ] ; ( * n ) + + ; } return ave ; ) 第 二 套 第 2 页 , 共 89 页 9 / 6 考点 或 配套 习题 — 突击 冲刺 训练 专用 材料 整理 汇编 2023 年 全国 计算机 等级 考试 二 级 C 语言 上机 题库 ( 70 套 ) 1 程序 填空 给定 程序 中 , 函数 fun 的 功能 是 : 统计 所有 < = n ( n > 2 ) 的 素数 的 个数 , 素数 的 个 数 作为 函数 值 返回 。 第 1 处 for ( j = 2 ; j < i ; j + + ) 第 2 处 if ( i % j = = O ) 第 3 处 if ( j > = i ) 2 程序 修改 数列 中 , 第 一 项 值 为 3 , 后 一 项 都 比 前 一 项 的 增 5 ; 给定 程序 modiLc 中 函数 fun 函数 功能 是 : 计算 前 n ( 4 < n < 50 ) 项 的 累加 和 ; 每 累加 一次 把 被 4
2023年全国计算机等级考试二级c语言上机精选题库(共85套)
2023年9月全国计算机等级考试二级C语言上机题库(共75套全)
2023年9月全国计算机等级考试二级C语言上机题库(共65套全)
-全国计算机等级考试-二级C语言-上机-题库-试题-答案
2023年9月全国计算机等级考试二级C语言上机题库(共70套全)

下载夸克,免费领特权
下载

2023年全国计算机等级考试二级c语言上机精选题库(共99套)
DOC1.6M 325页