下面程序的运行结果是 : 【 1 0 】 。
fun(int t[],int n)
{ int i,m;
if(n==1)return t[0];
else
if(n>=2){m=fun(t,n-1); return m; }
}
main()
{ int a[]={11,4,6,3,8,2,3,5,9,2};
printf(" % d\n",fun(a,10));
}
有以下程序
#include <stdio.h>
#include <stdlib.h>
int fun(int n)
{ int *p;
p=(int*)malloc(sizeof(int));
*p=n; return *p;
}
main()
{ int a;
a = fun(10); printf("%d\n",a+fun(10));
}
程序的运行结果是
A)0
B)10
C)20
D) 出错
如有下程序: #include<iostream> using namespace std; long fun(int n) { if(n>2) return(fun(n-1)+fun(n-2)); else return 2; } int main() { cout<<fun(3)<<endl; return 0; } 则该程序的输出结果应该是( )。
A.2
B.3
C.
D.5
以下程序的输出结果是
long fun( int n)
{ long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;}
main()
{ printf("%ld\n",fun(3));}
A.1
B.2
C.3
D.4
有如下程序: #include<iostream> using namespace std; long fun(int n) { if(n>2) return(fun(n-1)+fun (n-2)); else return 2; } int main() { cout<<fun(3)<<end1; return 0; } 则该程序的输出结果应该是 ( )。
A.2
B.3
C.4
D.5
全国计算机等级考试二级C历届上机真题第1套填充题请补充fun函数,fun函数的功能是求n 的阶乘。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。关键词:典型算法,递归include long fun(int n)(if(1一)return(n*fun(_2_);return _ 3_;)main()(printf(10!=%ldn”,fun(10);)填充题答案nlK nn-11l lIL填充题+答案#include long fun(int n)(if(n 1)return(n*fun(n-l);return 1;)main()(printf(z/10!=%ldn*,fun(10);)改错题下列给定程序的功能是:读入一个 整 数 k(2=k=10000),打印它的所有质因子(即所有为素数的因子)。例如,若输入整数2 3 1 0,则应输出:2、3、5、7、11。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动m a i n 函数,不得增行或删行,也不得更改程序的结构。关键词:语法,典型算法#i n c l u d e#i n c l u d e/*o u n d*/I sP ri m e(i n t n);(i n t i,m;m =1;/*f o u n d*/f o r(i=2;i n;i+)i f !(n%i)(m =0;b rea k;)ret u rn(m);m a i n ()(i n t j,k;pri n t f(n pl ea se en t er a n i n t eg er n u m b er b et w een 2 a n d 1 0 0 0 0:);sc a n f (zz%dz/,&k);pri n t f (,zn n T h e pri m e f a c t o r(s)o f%d i s(a re):z,,k);f o r(j=2;j k;j+)i f (!(k%j)&(I sP ri m e(j)pri n t f%4 d,j);pri n t f(n);)改错题答案U sP ri m e(i n t n )2 i f (!(n%i)改错题+答案 i n c l u d e#i n c l u d e/*f o u n d*/I sP ri m e(i n t n)(i n t i,m;m =1;/*f o u n d*/f o r(i=2;i n;i+)i f (!(n%i)m =0;b rea k;)ret u rn(m);)m a i n O(i n t j,k;pri n t f(X n pl ea se en t er a n i n t eg er n u m b er b et w een 2 a n d 1 0 0 0 0:);sc a n f&k);pri n t f (z/n n T h e pri m e f a c t o r(s)o f%d i s(a re):z,,k);f o r(j=2;j 30、40。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。关键词:数组t t i n c l u d e#i n c l u d e#i n c l u d e i n t f u n(i n t sc o re ,i n t m,i n t b el o w )()m a i n 0(i n t i,n,b el o w 9 ;i n t sc o re 9 =1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0);F I L E *o u t;n=f u n (sc o re,9,b el o w);pri n t f (,zn B el o w t h e a v era g e sc o re a re:o u t二f o pen (o u t.d a t,w);f o r(i=0;i n;i+)pri n t f (z/%d /z,b el o w i );f pri n t f(o u t,%d n ,b el o w i );)f c l o se(o u t);编程题答案1 02 03 04 0 i n c l u d e#i n c l u d e#i n c l u d e i n t f u n(i n t sc o re ,i n t m,i n t b el o w口)(i n t i,k=0,a v er=0;f o r(i=0;i m;i+)a v er+=sc o re i ;a v er/=m;f o r(i=0;i m;i+)i f(sc o re i a v er)(b el o w k =sc o re i ;k+;)ret u rn k;)m a i n O(i n t i,n,b el o w 9 ;i n t sc o re 9 =1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0);F I L E *o u t;n=f u n (sc o re,9,b el o w);pri n t f C A n B el o w t h e a v era g e sc o re a re:);o u t=f o pen (o u t.d a t,w);f o r(i=0;i n;i+)(pri n t f (,z%d ”,b el o w i );f pri n t f (o u t,%d n”,b el o w i );)f c l o se(o u t);第2套填充题请在函数f u n 的横线上填写若干表达式,使从键盘上输入一个整数n,输出斐波纳契数列。斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:0 1 1 2 3 5 8 1 3 注意:部分源程序给出如下。请勿改动主函数m a i n 和其他函数中的任何内容,仅在f u n 函数的横线上填入所编写的若干表达式或语句。关键词:典型算法,递归 i n c l u d e i n t f u n (i n t n);m a i n ()(i n t i,n =0;sc a n f (z,%dz/,&n);f o r(i=0;i n;i+)pri n t f (,z%d ,f u n(i);i n t f u n (i n t n)(i f (1 )ret u rn 0;el se i f (2 )ret u rn 1;el seret u rn _ _3 _ _ _;填充题答案n=0 0=n !nn=l l-nf u n(n-l)+f u n(n-2)f u n (n-2)+f u n (n-1)填充题+答案#i n c l u d e i n t f u n (i n t n);m a i n O(i n t i,n =0;sc a n f (%d ,&n);f o r(i=0;i n;i+)pri n t f (,?%d ,f u n(i);i n t f u n(i n t n)(i f (n=0)ret u rn 0;el se i f (n=l)ret u rn 1;el seret u rn f u n(n-l)+f u n(n-2);j改错题下列给定程序中,函数fun的功能是:逐个比较a、b 两个字符串对应位置中的字符,把 ASCII值大或相等的字符依次存放到c 数组中,形成个新的字符串。例如,若 a 中的字符串为aBCDeFgH,b 中的字符串为:A B cd,则 c 中的字符串应为:aBcdeFgH。清改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。关键词:字符串#i n c l u d e#i n c l u d e v o i d f u n(c h a r*p,c h a r*q,c h a r*c)(/*f o u n d*/i n t k =1;/*f o u n d*/w h i l e(*p!=*q)(i f (*p *q)c k =*q;el sec k =*p;i f (*p)p+;i f (*q)q+;k+;m a i n ()(c h a r a 1 0 =,za B C D eF g Hz,,b 1 0 =A B c d ,c 8 0 =0 ;f u n (a,b,c);pri n t f(,zT h e st ri n g a:);pu t s(a);pri n t f(T h e st ri n g b:);pu t s(b);pri n t f(,zT h e resu l t:);pu t s(c);i.改错题答案l i n t k =0;l w h i l e(*p|*q)改错题+答案#i n c l u d e#i n c l u d e v o i d f u n(c h a r*p,c h a r*q,c h a r*c)(/*f o u n d*/i n t k =0;/*f o u n d*/w h i l e(*p*q)(i f (*p *q)c k =*q;el sec k =*p;i f (*P)p+;i f (*q)q+;k+;m a i n O(c h a r a 1 0 =a B C D eF g H”,b 1 0 =A B c d,c 8 0 =0 ;f u n (a,b,c);pri n t f(T h e st ri n g a:);pu t s(a);pri n t f C T h e st ri n g b:);pu t s(b);pri n t f (z,T h e resu l t:,z);pu t s(c);)编程题请编写函数f u n,它的功能是:求 出1到1 0 0 0之内能被7或1 1整除、但不能同时被7和1 1整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。请勿改动主函数main和其他函数中的任何内容,仅在函数f un的花括号中填入所编写的若干语句。关键词:数组,指针#include#include void f un(int *a,int *n)()mainO(int aa1 0 0 0,n,k;FILE*out;f un(aa,&n);out=f op en(z,out.dat ,w);f or(k=0;k n;k+)if(k+l)%1 0=0)(p r int f(5 dn,aak);f p r int f (out,%dn”,aak);els e(p r int f (舫d,,aak);f p r int f (out,%d,,aak);)f clos e(out);)编程题答案7,1 1,1 4,2 1,2 2,2 、8,33,35,42,4449,5 5,5 6,6 3,6 6,7 0,8 4,8 8,9 1,9 89 9,1 0 5,1 1 0,1 1 2,1 1 9,1 2 1,1 2 6,1 32,1 33,1 401 43,1 47,1 6 1,1 6 5,1 6 8,1 7 5,1 7 6,1 8 2,1 8 7,1 8 91 9 6,1 9 8,2 0 3,2 0 9,2 1 0,2 1 7,2 2 0,2 2 4,2 38,2 422 45,2 5 2,2 5 3,2 5 9,2 6 4,2 6 6,2 7 3,2 7 5,2 8 0,2 8 62 8 7,2 9 4,2 9 7,30 1,31 5,31 9,32 2,32 9,330,336341,343,35 0,35 2,35 7,36 3,36 4,37 1,37 4,37 839 2,39 6,39 9,40 6,40 7,41 3,41 8,42 0,42 7,42 9434,440,441,448,45 1,45 5,46 9,47 3,47 6,48 348 4,49 0,49 5,49 7,5 0 4,5 0 6,
有以下程序: int fun(int n) {if(n==1)return 1; else return(n+fun(n-1)); } main() {int x; scanf("%if",&x);x=fun(x);printf("%d\n",x); } 执行程序时,给变量X输入10,程序的输出结果是( )。
A.55
B.54
C.65
D.45
下列给定程序中,函数fun()的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
试题程序:
include <conio.h>
include <stdio.h>
int fun( int m)
{ int i,k;
for (i=m+1; ;i++)
{ for (k=2;k<i;k++)
/*************found**************/
if (i%k!=0)
break;
/*************found**************/
if (k<i)
return(i);
}
}
main()
{ int n;
clrscr ();
printf("\nPlease enter n: ");
scanf ("%d", &n);
printf ("%d\n",fun(n));
}
下列程序的输出结果是______。
long fun5(int n)
( long s;
if((n==l)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{ long x;
x=fun5(4);
printf(%1d\n",x);
请补充函数fun(),函数fun()的功能是求7的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
long fun(int n)
{
if(【 】)
return(n*fun(【 】);
else if(【 】)
return 1;
}
main()
{
int k=7;
printf("%d!=%ld\n", k, fun(k));
}
以下C程序段的输出结果是(35)。 #include<stdio.h)long fun(int n){ long s; if(n==1 || n==2) s=2; else s=n+fun(n-1); return s; } void main(){ printf("\n%1d",fun(4)); )
A.5
B.7
C.9
D.11