网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

2016年计算机二级考试C语言试题及答案

栏目: 计算机等级 / 发布于: / 人气:2.66W

计算机等级考试正在报名,为帮助同学们在C语言考试中取得好成绩,yjbys为大家分享最新C语言考试试题及答案,赶紧来看看吧!

2016年计算机二级考试C语言试题及答案

  程序改错

1

/*--------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:依次取出字符串中所有数字字符, 形成新的字符串, 并取代原字符串。

例如:输入ab12c3d,则输出123。

注意:不得增行或删行,也不得更改程序的结构!

------------------------------------------------------*/

#include "stdio.h"

/**********ERROR**********/

void fun(char s)

{

int i,j;

for(i=0,j=0; s[i]!=''; i++)

if(s[i]>='0'&&s[i]<='9')

/**********ERROR**********/

s[j]=s[i];

/**********ERROR**********/

s[j]="";

}

main()

{

char item[80];

printf("nEnter a string: ");

gets(item);

printf("nnThe string is: "%s"n",item);

fun(item);

printf("nnThe string of changing is: "%s"n",item);

}

【改错1】

【参考答案】

void fun(char *s)

void fun(char s[])

void fun(char s[80])

============================================================

【改错2】

【参考答案】

s[j++]=s[i];

{ s[j]=s[i]; j++; }

============================================================

【改错3】

【参考答案】

s[j]='';

  2

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:读入一个整数m( 5≤m≤20 ),函数rnd获得m个随机整数,

函数sortpb将这m个随机整数从小到大排序。

例如:若输入整数7,则应输出:3 10 17 28 32 36 47。

------------------------------------------------------*/

#include "conio.h"

#include "stdio.h"

sortpb ( int n, int a[] )

{

/**********ERROR**********/

int i, j, p;

for ( j = 0; j < n-1 ; j++ )

{

p = j;

for ( i = j + 1; i < n ; i ++ )

/**********ERROR**********/

if ( a[p] > a[j] ) p = i;

/**********ERROR**********/

if ( p == j )

{

t = a[j];

a[j] = a[p];

a[p] = t;

}

}

}

double rnd ( )

{

static t = 29, c = 217, m = 1024, r = 0;

r =( r*t + c )%m; return( ( double )r/m );

}

getarr( int n, int *x )

{

int i;

for( i = 1; i <= n; i++, x++ ) *x = ( int )( 50*rnd() );

}

putarr( int n, int *z )

{

int i;

for( i = 1; i <= n; i++, z++ )

{

printf( "M", *z );

if ( !( i ) ) printf( "n" );

}

printf("n");

}

main()

{

int aa[20], n;

printf( "nPlease enter an integer number between 5 and 20: " );

scanf( "%d", &n );

getarr( n, aa );

printf( "nnBefore sorting %d numbers:n", n ); putarr( n, aa );

sortpb( n, aa );

printf( "nAfter sorting %d numbers:n", n ); putarr( n, aa );

}

【改错1】

【参考答案】

int i, j, p, t;

============================================================

【改错2】

【参考答案】

if ( a[p] > a[i] ) p = i;

if ( a[i] < a[p] ) p = i;

============================================================

【改错3】

【参考答案】

if ( p != j )