考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C语言程序设计 > C语言模拟试题 > 文章内容
  

全国计算机二级考试C语言试题与答案精选第三套(程序改错题)

中华IT学院   【 】  [ 2016年6月13日 ]

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

【程序改错】

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

 

功能:读入一个整数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( "\n\nBefore 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 )

首页 1 2 尾页
分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2006-2017 中华考试网(Examw.com) All Rights Reserved  营业执照