国二上机考试习题库(10)

2019-08-01 23:01

main() {

char s[100], t[100];

printf(\ fun(s, t);

printf(\}

40、给定程序MODI1.C中函数 fun 的功能是:计算n!。 例如,给n输入5,则输出120.000000。

请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include double fun ( int n ) { double result = 1.0 ;

/************found************/ if n = = 0 return 1.0 ;

while( n >1 && n < 170 )

/************found************/ result *= n-- return result ; }

main ( ) { int n ;

printf(\ scanf(\

printf(\}

41、给定程序MODI1.C中函数fun的功能是: 计算s所指字符串中含有t所指字符串的数目, 并作为函数值返回。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。

注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! #include #include #define N 80

int fun(char *s, char *t) { int n;

char *p , *r; n=0;

while ( *s ) { p=s;

/*********found**********/ r=p;

while(*r)

if(*r==*p) { r++; p++; } else break;

/*********found**********/ if(*r= O) n++; s++; }

return n; }

main()

{ char a[N],b[N]; int m;

printf(\ printf(\ m=fun(a, b);

printf(\ m = %d\\n\}

42、给定程序MODI1.C中函数 fun 的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。

例如:若输入:THIs is a boot,则输出应该是:1、0、2、2、0。 请改正程序中的错误,使它能得出正确的结果。 46

注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include

fun ( char *s, int num[5] ) { int k, i=5;

for ( k = 0; k

/**********found**********/ num[i]=0; for (; *s; s++) { i = -1;

/**********found**********/ switch ( s )

{ case 'a': case 'A': {i=0; break;} case 'e': case 'E': {i=1; break;} case 'i': case 'I': {i=2; break;} case 'o': case 'O': {i=3; break;} case 'u': case 'U': {i=4; break;} }

if (i >= 0) num[i]++; } }

main( )

{ char s1[81]; int num1[5], i;

printf( \ gets( s1 ); fun ( s1, num1 );

for ( i=0; i < 5; i++ ) printf (\}

43、已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。 例如,当n=10时,程序的输出结果应为:23.197745。 请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include

/************found************/ fun(int n)

{ double sum, s0, s1, s2, s; int k; sum = 1.0;

if (n <= 2) sum = 0.0;

s0 = 0.0; s1 = 0.0; s2 = 1.0; for (k = 4; k <= n; k++) { s = s0 + s1 + s2; sum += sqrt(s);

s0 = s1; s1 = s2; s2 = s; }

/************found************/ return sum }

main ( ) { int n;

printf(\ scanf(\

printf(\}

44、给定程序MODI1.C中函数 fun 的功能是:由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。

例如,n=8时,输入:193.199,195.673,195.757,196.051, 196.092,196.596,196.579,196.763

所得平均值为:195.838745,在平均值以上的实数个数应为:5 请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include int fun(float x[], int n) {

47

/************found************/ int j, c=0, float xa=0.0; for (j=0; j

printf(\ for (j=0; j

/************found************/ if (x[j] => xa) c++; return c; }

main ( )

{ float x[100] = {193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579, 196.763}; printf(\}

45、给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表, 并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! #include #include typedef struct aa { int data;

struct aa *next; } NODE;

NODE *Creatlink(int n, int m) { NODE *h=NULL, *p, *s; int i;

/**********found***********/

p=(NODE )malloc(sizeof(NODE)); h=p;

p->next=NULL; for(i=1; i<=n; i++)

{ s=(NODE *)malloc(sizeof(NODE));

s->data=rand()%m; s->next=p->next; p->next=s; p=p->next; }

/**********found***********/ return p; }

outlink(NODE *h) { NODE *p; p=h->next;

printf(\ LIST :\\n\\n HEAD \ while(p)

{ printf(\ p=p->next; }

printf(\}

main()

{ NODE *head;

head=Creatlink(8,22); outlink(head); }

46、给定程序MODI1.C中函数fun的功能是: 对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来, 并将这些学生数据存放在一个动态分配的连续存储区中, 此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。

注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! #include #include #include #define N 10 typedef struct ss { char num[10]; 48

int s; } STU;

STU *fun(STU a[], int m) { STU b[N], *t; int i,j,k;

/**********found**********/ t=(STU *)calloc(sizeof(STU),m) for(i=0; i b[j].s) j=i; /**********found**********/ t(k)=b(j); b[j].s=0; }

return t; }

outresult(STU a[], FILE *pf) { int i;

for(i=0; i

fprintf(pf,\ Mark = %d\\n\ fprintf(pf,\}

main()

{ STU a[N]={ {\ {\ STU *pOrder; int i, m;

printf(\ outresult(a, stdout);

printf(\ \ scanf(\ while( m>10 )

{ printf(\ \ scanf(\ }

pOrder=fun(a,m);

printf(\ RESULT *****\\n\ printf(\ :\\n\ for(i=0; i

printf(\ %s %d\\n\ free(pOrder); }

47、给定程序MODI1.C中函数 fun 的功能是:求出以下分数序列的前n项之和。和值通过函数值返回到main函数。 2 3 5 8 13 21

┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , …… 1 2 3 5 8 13 例如,若n = 5,则应输出:8.391667。

请改正程序中的错误,使它能计算出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include

/************found************/ fun ( int n )

{ int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) {

/************found************/ s = s + (Double)a / b; c = a; a = a + b; b = c; }

return s; }

main( )

{ int n = 5;

printf( \ function is: %lf\\n\ fun ( n ) );

49

}

48、给定程序MODI1.C中fun函数的功能是: 根据整型形参m,计算如下公式的值。 1 1 1 t = 1 - ----- - ----- - …… - ----- 2 3 m

例如,若主函数中输入5,则应输出 -0.283333。

请改正函数fun中的错误或在横线处填上适当的内容并把横线删除, 使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include double fun( int m ) {

double t = 1.0; int i;

for( i = 2; i <= m; i++ )

/**********found**********/ t = 1.0-1 /i;

/**********found**********/ _______; }

main() {

int m ;

printf( \ scanf( \

printf( \}

49、给定程序MODI1.C中函数fun的功能是: 将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A, z转换为a),其它字符不变。

请改正函数fun中指定部位的错误, 使它能得出正确的结果。

注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! #include #include void fun (char *s) {

/**********found***********/ while(*s!='@')

{ if(*s>='A' & *s<='Z' || *s>='a' && *s<='z') { if(*s=='Z') *s='A'; else if(*s=='z') *s='a';

else *s += 1; }

/**********found***********/ (*s)++; } }

main()

{ char s[80];

printf(\ Enter a string with length < 80. :\\n\\n \ printf(\ The string : \\n\\n \ puts(s); fun ( s );

printf (\ The Cords :\\n\\n \ puts(s); }

50、给定程序MODI1.C中函数 fun 的功能是:判断一个整数是否是素数,若是返回1,否则返回0。 在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数。不得增行或删行,也不得更改程序的结构! #include int fun ( int m ) { int k = 2;

while ( k <= m && (m%k))

/************found************/ k++

/************found************/ 50


国二上机考试习题库(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:同期论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: