计算机二级C语言上机操作题及答案.docx
- 文档编号:2949925
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:9
- 大小:17.53KB
计算机二级C语言上机操作题及答案.docx
《计算机二级C语言上机操作题及答案.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言上机操作题及答案.docx(9页珍藏版)》请在冰豆网上搜索。
计算机二级C语言上机操作题及答案
第1套
填空题
请补充FUN函数,FUN函数的功能是求10的阶乘。
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,
仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include
longfun(int n)
{
if(___1___)
return(n*fun(___2___));
return___3___;
}
main()
{
printf("10!
=%ld\n",fun(10));
}
第1处填空:
n>1或1第2处填空:
n-1
第3处填空:
1或11或1L
改错题
下列给定程序的功能是:
读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:
2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include
#include
/********found********/
IsPrime(int n);
{
int i,m;
m=1;
/********found********/
for(i=2;i if!
(n%i)
{
m=0;
break;
}
return(m);
}
main()
{
int j,k;
printf("\npleaseenteranintegernumberbetween2and10000:
");
scanf("%d",&k);
printf("\n\nTheprimefactor(s)of%dis(are):
",k);
for(j=2;j if((!
(k%j))&&(IsPrime(j)))
printf("M,",j);
printf("\n");
}
第1处:
Isprime(intn);应改为Isprime(intn)
第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
#include
#include
intfun(intscore[],intm,intbelow[])
{
}
main()
{
inti,n,below[9];
intscore[9]={10,20,30,40,50,60,70,80,90};
FILE*out;
n=fun(score,9,below);
printf("\nBelowtheaveragescoreare:
");
out=fopen("out.dat","w");
for(i=0;i {
printf("%d",below[i]);
fprintf(out,"%d\n",below[i]);
}
fclose(out);
}
答案是:
intfun(intscore[],int m,int below[])
{
intI,k=0,aver=0;
for(i=0;i aver+=score[i];
aver/=m;
for(i=0;iif(score[i]{
below[k]=score[i];
k++;
}
returnk;
}
第2套
填空题
请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。
斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:
011235813…..
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include
intfun(int n);
main()
{
int i,n=0;
scanf("%d",&n);
for(i=0;i printf("%d ",fun(i));
}
intfun(int n)
{
if(___1___)
return0;
elseif(___2___)
return1;
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
#include
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
#include
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
if((k+1)_==0)
{
printf("]\n",aa[k]);
fprintf(out, "%d\n", aa[k]);
}
else
{
printf("],",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_==0)&&iw!
=0)
a[j++]=i;
*n=j;
}
第3套
填空题
请补充函数FUN(CHAR *S),该函数的功能是把字符串中的内容逆置.
例如:
字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba.
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#include
#define N 81
void fun(char *s)
{
int i, n = strlen(s)-1;
char t;
for (i=0; i { 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 #include 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];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 上机 操作 答案