━━━━━━━━━━━━━━━━━━
一、程序填空   共130题 
━━━━━━━━━━━━━━━━━━

第1题 (9.0分)  题号:441
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:从低位开始取出长整型变量s中奇数位上的数,依次构成一
      个新数放在t中。

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

#include <conio.h>
#include <stdio.h> 
void fun (long s, long *t)
{
  long sl=10;
  s /= 10;
  /***********SPACE***********/
  *t = s 【?】 10;
  while(s>0)
  { 
    /***********SPACE***********/
    s = 【?】;
    /***********SPACE***********/
    *t = s%10*sl【?】;
    /***********SPACE***********/
    sl = sl 【?】10;
  }
}

main()
{ long s, t;
clrscr();
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
}
答案:
   1). %
   2). s/100
   3). + *t
   4). *

第2题 (9.0分)  题号:439
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假
      如人口增长率为5%。编写一个程序求在公元多少年总人口
      翻了一番。

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

#include<stdio.h>
void main()
{
  double p1=10.3,p2,r=0.05;
  int n=1;
  /***********SPACE***********/
  p2=p1*【?】;  
  /***********SPACE***********/
  while(p2<=【?】) 
  {
    n++;
    /***********SPACE***********/
    p2=p2*【?】;  
  }
  /***********SPACE***********/
  n=【?】;  
  printf("%d年人口总数翻了一番,即为%g亿人\n",n,p2);
}

答案:
   1). (1+r) 或 (r+1)
   2). 2*p1 或 p1*2
   3). (1+r) 或 (r+1)
   4). n+1982 或 1982+n

第3题 (9.0分)  题号:407
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:有五个学生,每个学生有3门课的成绩,从键盘输入以上数
      据(包括学生号,姓名,三门课成绩),计算出平均成绩,
      设原有的数据和计算出的平均分数存放在磁盘文件"stud"
      中。

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

#include "stdio.h"
struct student
{
  char num[6];
  char name[8];
  int score[3];
  float avr;
} stu[5];

main()
{
  int i,j,sum;
  FILE *fp;
  /*input*/
  for(i=0;i<5;i++)
  {
    printf("\n please input No. %d score:\n",i);
    printf("stuNo:");
    scanf("%s",stu[i].num);
    printf("name:");
    scanf("%s",stu[i].name);
    sum=0;
    /***********SPACE***********/
    for(j=0;【?】;j++)
    { 
      printf("score %d.",j+1);
      scanf("%d",&stu[i].score[j]);
      /***********SPACE***********/
      sum+=stu[i].【?】;
    }
    stu[i].avr=sum/3.0;
  }
  fp=fopen("stud","w");
  /***********SPACE***********/
  for(i=0;i<5;【?】)
  /***********SPACE***********/
    if(fwrite(&stu[i],sizeof(【?】),1,fp)!=1)
      printf("file write error\n");
    fclose(fp);
}
答案:
   1). j<3 或 3>j
   2). score[j]
   3). i++ 或 ++i 或 i=i+1
   4). struct student

第4题 (9.0分)  题号:408
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入两个整数,求他们的按位与。

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

#include<stdio.h>
void main()
{
  int x,y,z=0,a,b,k=1;
  scanf("%d,%d",&x,&y);
  while(x>0&&y>0)
  {
    a=x%2;
    /***********SPACE***********/
    x=【?】;
    b=y%2;
    y=y/2;
    /***********SPACE***********/
    z=z+【?】;
    k=k*2;
  }
  /***********SPACE***********/
  【?】("z=%d\n",z);
}
答案:
   1). x/2
   2). a*b*k 或 a * b * k
   3). printf

第5题 (9.0分)  题号:477
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:编写程序,输出 1000 以内的所有完数及其因子。
说明:所谓完数是指一个整数的值等于它的因子之和。
例如“ 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是
      一个完数。

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

#include <stdio.h>

main() 
{
  int i,j,m,s,k,a[100] ;
  for(i=1 ; i<=1000 ; i++ )
  {
    m=i ; s=0 ; k=0 ;
    for(j=1 ; j<m ; j++)
      /***********SPACE***********/
      if(【?】)                                 
      {
        s=s+j ;
        /***********SPACE***********/
        【?】=j ;                                
      } 
    if(s!=0&&s==m)
    {
      /***********SPACE***********/
      for(j=0 ; 【?】 ; j++)                
        printf("%4d",a[j]) ;
      printf(" =%4d\n",i) ;
    } 
  }

答案:
   1). m%j == 0
   2). a[k++]
   3). j<k 或 k>j

第6题 (9.0分)  题号:10
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输出由字符w构造成的形如W的图形。

w        ww        w
 w      w  w      w
  w    w    w    w
   w  w      w  w
    ww        ww

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

void draw(int n)

  int i,j,k,r,m;
  /***********SPACE***********/
  for(i=1; 【?】;i++)
  {
    for(j=1;j<=2;j++)
    {
      for(r=1;r<i;r++)printf(" ");
        printf("w");
        /***********SPACE***********/
        for(k=1; 【?】 ;k++)printf(" ");
           printf("w");
           for(m=1;m<i;m++)printf(" ");
    }
    /***********SPACE***********/
    【?】;
  }
}
#include <conio.h>
main()
{
  int n;
  clrscr();
  printf("input a number:");
  /***********SPACE***********/
  【?】;
  draw(n);
}

答案:
   1). i<=n 或 n>=i
   2). k<= 2 * n - 2 * i 或  2 * n - 2 * i >=k
   3). printf("\n")
   4). scanf("%d",&n)

第7题 (9.0分)  题号:397
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙
      队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比
      赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出
      三队赛手的名单。

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

main()
{
  char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/
  for(i='x';i<='z';i++)
    for(j='x';j<='z';j++)
    {
      /***********SPACE***********/
      if(【?】)
        /***********SPACE***********/
        for(k='x';【?】;k++)
        {
          /***********SPACE***********/
          if(【?】)
          {
            /***********SPACE***********/
            if(i!='x'&&k!=【?】)
               printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
          }
        }
    }
}

答案:
   1). i!=j 或 i != j
   2). k<='z' 或 'z'>=k
   3). i!=k&&j!=k 或 i != k && j != k
   4). 'z'

第8题 (9.0分)  题号:470
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:从两个数组中分别提取任意元素x[i],y[j],问|x[i]-y[j]|
      的最小值是多少 ?

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

#include <limits.h>

/***********SPACE***********/
#define  min(x, y)     (【?】)

int  min_distance(int x[], int y[], int m, int n)
{
  int  minimum = INT_MAX; 
  int  index_x = 0, index_y = 0;
  while (index_x < m && index_y < n)
    /***********SPACE***********/
    if (【?】) 
    {                                                
      minimum = min(minimum, x[index_x]-y[index_y]);
      index_y++;
    }
    else 
    {
      minimum = min(minimum, y[index_y]-x[index_x]);
      /***********SPACE***********/
     【?】;                                                
    }
  return minimum;
}

#include  <stdio.h>
void main(void)
{
     int  x[] = { 1, 3, 7, 11, 18};
     int  m   = sizeof(x)/sizeof(int);
     int  y[] = { 4, 5, 8, 13, 22};
     int  n   = sizeof(y)/sizeof(int);
     int  i, min_distance(int [], int [], int, int);
     printf("\nCompute Minimum Distance Between Two Sorted Arrays");
     printf("\n==================================================");
     printf("\n\nGiven Array #1 :");
     for (i = 0; i < m; i++)
          printf("%5d", x[i]);
     printf("\n\nGiven Array #2 :");
     for (i = 0; i < n; i++)
          printf("%5d", y[i]);
     printf("\n\nMinimum Distance = %d", min_distance(x, y, m, n));
}
答案:
   1). x<y?x:y 或 y>x?x:y
   2). x[index_x] >= y[index_y] 或 y[index_y]<=x[index_x]
   3). index_x++ 或 index_x=index_x+1 或 ++index_x

第9题 (9.0分)  题号:30
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入字符串,再输入一个字符,将字符串中与输入字符相
      同的字符删除。

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

#include "stdio.h"
void fun(char a[],char c)
{
  int i,j;
  /***********SPACE***********/
  for(i=j=0; 【?】;i++)
    if(a[i]!=c) a[j++]=a[i];
  /***********SPACE***********/
  【?】;
}
main()
{
  char a[20],cc;
  gets(a);
  /***********SPACE***********/
  【?】;
  /***********SPACE***********/
  【?】;
  puts(a);
}

答案:
   1). a[i] != '\0' 或 a[i] 或 a[i]!=NULL
   2). a[j]='\0' 或 a[j]=NULL 或 a[j]=0
   3). cc=getchar() 或 scanf("%c",&cc)
   4). fun(a,cc)

第10题 (9.0分)  题号:467
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入一个整数n,打印自然数1-n的全排列方案。

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

#include  <stdio.h>
#include  <stdlib.h>

#define   MAXSIZE   20
#define   ROTATE(p) 
{
  int  i, temp;              \
  temp = perm[p];            \
  for (i = p-1; i >= 0; i--) \
  perm[i+1] = perm[i];       \
  perm[0] = temp;            \
}

void main(void)
{
  int  perm[MAXSIZE];
  int  position;
  int  n;
  int  i;
  char line[100];
  printf("\nPermutation by Rotation Method");
  printf("\n==============================");
  printf("\n\nNumber of Elements --> ");
  gets(line);
  n = atoi(line);
  for (i = 0; i < n; i++)  
    perm[i] = i + 1;
  position = n - 1;           
  /***********SPACE***********/
  while (【?】) 
  {                                          
    printf("\n");       
    for (i = 0; i < n; i++)
      /***********SPACE***********/
      printf("%d ", 【?】);                        
    /***********SPACE***********/
    position = 【?】;                                   
    ROTATE(position);                                   
    while (perm[position]==position+1 && position!=0) 
    {
      position--;    
      ROTATE(position); 
    }
  }
}
答案:
   1). position != 0
   2). perm[i]
   3). n - 1 或 n -1

第11题 (9.0分)  题号:395
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入3个数a,b,c,按从小到大的顺序输出。

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

main()
{
  void swap(int *p1, int *p2);
  int n1,n2,n3;
  int *pointer1,*pointer2,*pointer3;
  printf("please input 3 number:n1,n2,n3:");
  scanf("%d,%d,%d",&n1,&n2,&n3);
  pointer1=&n1;
  pointer2=&n2;
  pointer3=&n3;
  /***********SPACE***********/
  if(【?】) swap(pointer1,pointer2);
  /***********SPACE***********/
  if(【?】) swap(pointer1,pointer3);
  /***********SPACE***********/
  if(【?】) swap(pointer2,pointer3);
  printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3);
}
/***********SPACE***********/
void swap(【?】)
int *p1,*p2;
{
  int p;
  p=*p1;*p1=*p2;*p2=p;
}

答案:
   1). n1>n2 或 n2<n1 或 *pointer1>*pointer2 或 *pointer2<*pointer1
   2). n1>n3 或 n3<n1 或 *pointer1>*pointer3 或 *pointer3<*pointer1
   3). n2>n3 或 n3<n2 或 *pointer2>*pointer3 或 *pointer3<*pointer2
   4). p1,p2

第12题 (9.0分)  题号:443
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:企业发放的奖金根据利润提成。利润(I)低于或等于10万元
      时,奖金可提10%;利润高于10万元,低于20万元时,低于
      10万元的部分按10%提成,高于10万元的部分,可可提成7.5%
      ;20万到40万之间时,高于20万元的部分,可提成5%;40万
      到60万之间时高于40万元的部分,可提成3%;60万到100万
      之间时,高于60万元的部分,可提成1.5%,高于100万元时,
      超过100万元的部分按1%提成,从键盘输入当月利润I,求
      应发放奖金总数?

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

main()
{
  long int i;
  int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
  scanf("%ld",&i);
  bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
  bonus4=bonus2+200000*0.5;
  bonus6=bonus4+200000*0.3;
  bonus10=bonus6+400000*0.15;
  if(i<=100000)
    bonus=i*0.1;
  /***********SPACE***********/
  else if(【?】)                                
    bonus=bonus1+(i-100000)*0.075;
  /***********SPACE***********/
  else if(【?】)                                
    bonus=bonus2+(i-200000)*0.05;
  /***********SPACE***********/
  else if(【?】)                                
    bonus=bonus4+(i-400000)*0.03;
  else if(i<=1000000)
    bonus=bonus6+(i-600000)*0.015;
  else
    bonus=bonus10+(i-1000000)*0.01;
  /***********SPACE***********/
  【?】("bonus=%d",bonus);
}

答案:
   1). i<=200000     或 200000>=i
   2). i<=600000 或 600000>=i
   3). i<=1000000 或 1000000>=i
   4). printf

第13题 (9.0分)  题号:473
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输出1到100之间每位数的乘积大于每位数的和的数。
例如:数字26,数位上数字的乘积12大于数字之和8。

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

main()
{
  int n,k=1,s=0,m;
  for(n=1;n<=100;n++)
  {
    k=1;
    s=0;
    /***********SPACE***********/
   【?】 ;                                
    /***********SPACE***********/
    while( 【?】 )                        
    {
      k*=m%10;
      s+=m%10;
      /***********SPACE***********/
      【?】;                                
    }  
    if(k>s)
      printf("%d ",n);
  }
}
答案:
   1). m=n
   2). m>0 或 0<m
   3). m=m/10 或 m/=10

第14题 (9.0分)  题号:442
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数
      放在t中。高位仍在高位,低位仍在低位。

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

#include <conio.h>
#include <stdio.h>

void fun (long s, long *t)

  int d;
  long sl=1;
  /***********SPACE***********/
 【?】 = 0;
  while ( s > 0)
  {
    /***********SPACE***********/
    d = 【?】;
    if(d%2)
    {   
      /***********SPACE***********/
      *t = 【?】 + *t;
      /***********SPACE***********/
      sl 【?】 10;
    }
    s /= 10;
  }
}

main()
{
  long s, t;
  clrscr();
  printf("\nPlease enter s:"); scanf("%ld", &s);
  fun(s, &t);
  printf("The result is: %ld\n", t);
}
答案:
   1). *t
   2). s%10
   3). d * sl 或 sl * d
   4). *= 或 =s*

第15题 (9.0分)  题号:433
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:将字母转换成密码,转换规则是将当前字母变成其后的第
      四个字母,但W变成A、X变成B、Y变成C、Z变成D。小写字
      母的转换规则同样。

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

#include <stdio.h>
main()
{
  char c;
  /***********SPACE***********/
  while((c=【?】)!='\n')
  {
    /***********SPACE***********/
    if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))【?】;
    /***********SPACE***********/
    if((c>'Z'【?】c<='Z'+4)||c>'z') c-=26;
    printf("%c",c);
  }
}
答案:
   1). getchar()
   2). c+=4 或 c=c+4 或 c=4+c
   3). &&

第16题 (9.0分)  题号:419
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:seek()函数:判断是否有不合格成绩;形参:1个,指
      向由3个int型元素组成的1维数组的行指针变量返回值:
      (1)有不合格成绩,则返回指向本行首列的一个(列)指针;  
      (2)没有有不合格成绩,返回值为指向下一行的一个
         (列)指针 
-------------------------------------------------------*/

int  *seek( int  (*pnt_row)[3] )
{
  int i=0, *pnt_col;             
  /***********SPACE***********/
  【?】=*(pnt_row+1);
  for(; i<3; i++)
    if(*(*pnt_row+i)<60)        
    {
      pnt_col=*pnt_row;       
      break; /*退出循环*/
    }
    /***********SPACE***********/
  return(【?】);
}

main()
{
  static int grade[3][3]={{55,65,75},{65,75,85},{75,80,90}};
  int i,j,*pointer;             
  for(i=0; i<3; i++)             
  {
    /***********SPACE***********/
    pointer=seek(【?】);
    if(pointer==*(grade+i))     
    { 
       printf("No.%d grade list: ", i+1);
       for(j=0; j<3; j++) 
         /***********SPACE***********/ 
         printf("%d  ",*(【?】));
       printf("\n");
    }
  }
}
答案:
   1). pnt_col
   2). pnt_col
   3). grade+i 或 i+grade
   4). pointer+j 或 j+pointer

第17题 (9.0分)  题号:466
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根
      ,其中 X^n代表X的n次方。

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

# include <math.h>
main()
{
  float x0,x1,x2,fx0,fx1,fx2;
  do
  {
    printf("Enter x1&x2:");
    scanf("%f,%f",&x1,&x2);
    fx1=x1*((2*x1-4)*x1+3)-6;
    fx2=x2*((2*x2-4)*x2+3)-6;
  /***********SPACE***********/ 
  }while (fx1*fx2【?】);

do
  {
    x0=(x1+x2)/2;
    fx0=x0*((2*x0-4)*x0+3)-6;
    /***********SPACE***********/
    if(fx0*fx1【?】)                                
    {
      x2=x0;
      fx2=fx0;
    }
    else
    {
      x1=x0;
      fx1=fx0;
    }
  }
  /***********SPACE***********/
  while(【?】>=1e-5);                                
    printf("x=%6.2f\n",x0);
}
答案:
   1). >0
   2). <0
   3). fabs(fx0)

第18题 (9.0分)  题号:459
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为
      1~100分。选手最后得分为:去掉一个最高分和一个最低分
      后其余8个分数的平均值。请编写一个程序实现。

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

#include<stdio.h>

void main()
{
  int score,i,max,min,sum;
  max=-32768;                  
  min=32767;                   
  sum=0;
  for(i=1;i<=10;i++)
  {
    printf("Input number %d=",i);
    /***********SPACE***********/
    scanf("%d",【?】);                        
    sum+=score;
    /***********SPACE***********/
    if(【?】) max=score;                        
    /***********SPACE***********/
    if(【?】)  min=score;                        
  }
  printf("Canceled max score:%d\nCanceled min score:%d\n",max,min);
  /***********SPACE***********/
  printf("Average score:%d\n",【?】);                
}
答案:
   1). &score
   2). score>max 或 max<score
   3). score<min 或 min>score
   4). (sum-max-min)/8 或 (sum -max - min )/8

第19题 (9.0分)  题号:25
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:以下程序的功能如(图1)。

-------------------------------------------------------*/
  
/***********SPACE***********/
 【?】
main()
{
  float x,f;
  scanf("%f",&x);
  /***********SPACE***********/
  if(x<0) 【?】;
  /***********SPACE***********/
  else if(【?】)
    f=2*x+1;
  else  
    f=sin(x)+5;
  /***********SPACE***********/
  printf("x=%f,y=%f\n",  【?】);
}

答案:
   1). #include "math.h" 或 #include <math.h>
   2). f=fabs( x + 1 )
   3). x<=5 或 5>=x 或 x<6 或 6>x 或 x>=0&&x<=5 或 0<=x&&x<=5 或 x>=0&&5>=x 或 0<=x&&5>=x 或 !(x>5)
   4). x,f

第20题 (9.0分)  题号:478
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:如果整数A的全部因子(包括1,不包括A本身)之和等
      于B;且整数B的全部因子 ( 包括1,不包括B本身 ) 
      之和等于A,则将整数A和B称为亲密数。求 3000 以内
      的全部亲密数。

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

#include <stdio.h>
#include <stdio.h> 
main( ) 
{
  int a, i, b, n ;
  printf("Friendly-numbers pair samller than 3000:\n") ;
  for(a=1 ; a<3000 ; a++)
  {
    for(b=0,i=1 ; i<=a/2 ; i++ )
    /***********SPACE***********/
    if(!(a%i)) 【?】 ;                
    for(n=0,i=1 ; i<=b/2 ; i++)
      /***********SPACE***********/
      if(!(b%i)) 【?】 ;                
    /***********SPACE***********/
    if(【?】 && a<b)                        
      printf("%4d~%4d\n",a,b) ;
  }
}
答案:
   1). b+=i 或 b=b+i
   2). n+=i 或 n=n+i
   3). n == a

第21题 (9.0分)  题号:13
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:产生并输出杨辉三角的前七行。

1
1     1
1     2     1
1     3     3     1
1     4     6     4     1
1     5    10    10     5     1
1     6    15    20    15     6     1

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

main ( )
{
  int a[7][7];
  int i,j,k;
  for (i=0;i<7;i++)
  {
     a[i][0]=1; 
     /***********SPACE***********/    
     【?】;
  }
  for (i=2;i<7;i++)
    /***********SPACE***********/
    for (j=1;j<【?】;j++)
      /***********SPACE***********/
      a[i][j]= 【?】;
  for (i=0;i<7;i++)
  {
     /***********SPACE***********/
     for (j=0; 【?】;j++)
       printf("%6d",a[i][j]);
       printf("\n");
   }
}

答案:
   1). a[i][i]=1
   2). i
   3). a[i-1][j]+a[i-1][j-1] 或 a[i-1][j-1]+a[i-1][j]
   4). j<=i 或 i>=j 或 j<i+1 或 i+1>j 或 j-1<i 或 i>j-1

第22题 (9.0分)  题号:28
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:将十进制数转换成十六进制数。

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

#include "stdio.h"
#include "string.h"
main ()
{
  int a,i;
  char s[20];
  printf("input a integer:\n");
  scanf("%d",&a);
  c10_16(s,a);
  /***********SPACE***********/
  for(【?】;i>=0;i--)
    printf("%c",s[i]);
  printf("\n");
}
c10_16(char p[],int b)
{
  int j,i=0;
  /***********SPACE***********/
  while (【?】)
  {
    j=b%16;
    if(j>=0&&j<=9) 
      /***********SPACE***********/
      【?】;
    else p[i]=j+55;
      b=b/16;
    i++;
  }
  /***********SPACE***********/
  【?】;
}

答案:
   1). i=strlen(s)-1 或 i=-1+strlen(s)
   2). b>0 或 0<b 或 b!=0 或 0!=b 或 b
   3). p[i]= j + '0' 或 p[i]= j + 48 或 *(p+i)= j + '0' 或 *(p+i)= j + 48
   4). p[i]='\0' 或 p[i]=0 或 p[i]=NULL 或 *(p+i)='\0' 或 *(p+i)=0 或 *(p+i)=NULL

第23题 (9.0分)  题号:18
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:将一个数组中的元素按逆序存放。

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

#define N 7
main ()
{
  static int a[N]={12,9,16,5,7,2,1},k,s;
  printf("\n the origanal array:\n");
  for (k=0;k<N;k++)
    printf("%4d",a[k]);
  /***********SPACE***********/
  for (k=0;k<N/2; 【?】 )
  {
     s=a[k];
  /***********SPACE***********/
  【?】 ;
  /***********SPACE***********/
  【?】 ;
   }
   printf("\n the changed array:\n");
   for (k=0;k<N;k++)
      /***********SPACE***********/
      【?】  ("%4d",a[k]);
}
答案:
   1). k++ 或 k= k + 1 或 k+=1 或 ++k
   2). a[k]=a[N-k-1] 或 a[k]=a[N-1-k] 或 a[k]=a[6-k] 或 *(a+k)=*(a+N-k-1) 或 *(a+k)=*(a+N-1-k] 或 a[k]=a[-1+N-k] 或 a[k]=a[-1-k+N] 或 a[k]=a[-k-1+N] 或 a[k]=a[-k+N-1] 或 *(a+k)=*(a+N-k-1) 或 a[6-k]=s
   3). a[N-k-1]=s 或 a[N-1-k]=s 或 a[6-k]=s 或 a[N -k -1]=s 或 *(a +N -k -1)=s
   4). printf

第24题 (9.0分)  题号:406
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:从键盘输入一个字符串,将小写字母全部转换成大写字母,
      然后输出到一个磁盘文件“test”中保存。输入的字符串
      以!结束。

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

#include "stdio.h"
#include <string.h>
main()
{
  FILE *fp;
  char str[100];
  int i=0;
  /***********SPACE***********/
  if((fp=fopen("test",【?】))==NULL)
  {
    printf("cannot open the file\n");
    exit(0);
  }
  printf("please input a string:\n");
  /***********SPACE***********/
  gets(【?】);
  while(str[i]!='!')
  /***********SPACE***********/
  {
    if(str[i]>='a'&&【?】)
      str[i]=str[i]-32;
    fputc(str[i],fp);
    i++;
  }
  /***********SPACE***********/
  fclose(【?】);
  fp=fopen("test","r");
  fgets(str,strlen(str)+1,fp);
  printf("%s\n",str);
  fclose(fp);
}

答案:
   1). "w"
   2). str
   3). str[i]<='z' 或 'z'>=str[i]
   4). fp

第25题 (9.0分)  题号:449
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:算式:?2*7?=3848中缺少一个十位数和一个个位数。编
      程求出使该算式成立时的这两个数,并输出正确的算式。

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

main()
{
  int x,y;
  /***********SPACE***********/
  for(x=1;【?】;x++)
    /***********SPACE***********/
    for(【?】;y<10;y++)
      /***********SPACE***********/
      if(【?】==3848)
      {
        /***********SPACE***********/
        printf("%d*%d=3848\n",【?】);
        exit(0);
      }

}

答案:
   1). x<10 或 10>x 或 x<=9 或 9>=x
   2). y=0
   3). (10*x+2)*(70+y) 或 ( 10 * x + 2 ) * ( 70 + y )
   4). 10*x+2,70+y 或 10 * x + 2 , 70 + y

第26题 (9.0分)  题号:451
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)
      相差的天数。

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

main()
{
  int y1,m1,d1,y2,m2,d2,n,i;
  printf("y1,m1,d1=");
  scanf("%d,%d,%d",&y1,&m1,&d1);
  /***********SPACE***********/
  if(m1<1||m1>12||d1<1||d1>【?】) exit(0);
  printf("y2,m2,d2=");scanf("%d,%d,%d",&y2,&m2,&d2);
  /***********SPACE***********/
  if(m2<1||m2>12||d2<1||d2>【?】) exit(0);
  if(y1>y2||y1==y2&&m1>m2||y1==y2&&m1==m2&&d1>d2)
  {
    n=y1;
    y1=y2;
    y2=n;
    n=m1;
    m1=m2;
    m2=n;
    n=d1;
    d1=d2;
    d2=n;
  }
  else
  {
    /***********SPACE***********/
    n=yend(y1,m1,d1)+【?】;
    /***********SPACE***********/
    for(i=【?】;i<y2;i++) n+=365+f(i);
  }
  printf("%d.%d.%d--->%d.%d.%d:n=%d\n",y1,m1,d1,y2,m2,d2,n);
}

int f(int y)
{
  return(y%4==0&&y%100!=0||y%400==0);
}

int mday(int y,int m)
{
  return(31-((m==4)+(m==6)+(m==9)+(m==11))-(3-f(y))*(m==2));
}

int yday(int y,int m,int d)
{
  return(d+31*((m>1)+(m>3)+(m>5)+(m>7)+(m>8)+(m>10))+30*((m>4)+(m>6)+(m>9)+(m>11))+(28+f(y))*(m>2));
}

int yend(int y,int m,int d)
{
  return(365+f(y)-yday(y,m,d));
}

答案:
   1). mday(y1,m1)
   2). mday(y2,m2)
   3). yday(y2,m2,d2)
   4). y1+1 或 1+y1

第27题 (9.0分)  题号:16
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:产生10个[30,90]区间上的随机整数,然后对其用选择法
      进行由小到大的排序。

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

#include "stdlib.h"
main()
{
  /***********SPACE***********/
  【?】;
   int i,j,k;
   int a[10];
   for(i=0;i<10;i++)
     a[i]=random(61)+30;
   for(i=0;i<9;i++)
   {
      /***********SPACE***********/
      【?】;
      for(j=i+1;j<10;j++)
        /***********SPACE***********/
      if(【?】) k=j;
      if(k!=i) 
      {
           t=a[k];
           a[k]=a[i];
           a[i]=t;
      }
   } 
   /***********SPACE***********/
   for(【?】 )
     printf("%5d",a[i]);
   printf("\n");
}
答案:
   1). int t
   2). k=i
   3). a[k]>a[j] 或 a[j]<a[k]
   4). i=0;i<10;i++ 或 i=0;10>i;i++ 或 i=0;i<=9;i+=1 或 i=0;9>=i;i++ 或 i=0;i<10;i+=1 或 i=0;10>i;i+=1 或 i=0;i<=9;i++ 或 i=0;9>=i;i+=1 或 i=0;i<10;++i 或 i=0;10>i;++i 或 i=0;9>=i;++i 或 i=0;i<=9;++i

第28题 (9.0分)  题号:21
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:将一个字符串中的前N个字符复制到一个字符数组中去,
      不许使用strcpy函数。

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

main ( )
{
  char str1[80],str2[80];
  int i,n;
  /***********SPACE***********/
  gets(【?】);
  scanf("%d",&n);
  /***********SPACE***********/
  for (i=0; 【?】 ;i++)
  /***********SPACE***********/
    【?】;
  /***********SPACE***********/
  【?】;
  printf("%s\n",str2);

}

答案:
   1). str1
   2). i<n 或 n>i 或 i<=n-1 或 n-1>=i
   3). str2[i]=str1[i] 或 *(str2+i)=*(str1+i) 或 *(str2+i)=str1[i] 或 str2[i]=*(str1+i)
   4). str2[n]='\0' 或 str2[i]='\0' 或 str2[n]=0 或 str2[i]=0 或 *(str2+n)='\0' 或 *(str2+i)='\0' 或 *(str+n)=0 或 *(str2+i)=0

第29题 (9.0分)  题号:403
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输出9*9口诀。

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

main()
{
  int i,j,result;
  printf("\n");
  /***********SPACE***********/
  for (i=1;【?】;i++)
  { 
    /***********SPACE***********/
    for(j=1;j<10;【?】)
    {
      result=i*j;
      /***********SPACE***********/
      printf("%d*%d=%-3d",i,j,【?】);
    }
  printf("\n");
  }
}

答案:
   1). i<10 或 10>i
   2). j++ 或 ++j 或 j=j+1
   3). result

第30题 (9.0分)  题号:462
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:把字符串中所有的字母改写成该字母的下一个字母,最后
      一个字母z改写成字母a。大字母仍为大写字母,小写字母
      仍为小写字母,其它的字符不变。
例如:原有的字符串为:“Mn.123xyZ”,调用该函数后,串中的
      内容为:“No.123yzA”。

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

#include <string.h>
#include <stdio.h>
#include <ctype.h>
#define   N   81

main( )
{   
  char   a[N],*s;
  printf ( "Enter a string :  " );
  gets ( a );
  printf ( "The original string is :  " );
  puts( a );
  /***********SPACE***********/
  【?】;                                                
  while(*s)
  {
    if(*s=='z')
      *s='a';
    else if(*s=='Z')
      *s='A';
    else if(isalpha(*s)) 
    /***********SPACE***********/     
      【?】;                        
    /***********SPACE***********/
      【?】;                                        
  }
  printf ( "The string after modified :  ");
  puts ( a );
}
答案:
   1). s=a
   2). *s+=1 或 *s=*s+1 或 (*s)++ 或 ++(*s)
   3). s++ 或 s=s+1 或 ++s 或 s= s + 1

第31题 (9.0分)  题号:415
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:数组名作为函数参数,求平均成绩。

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

float aver(float a[ ])             /*定义求平均值函数,形参为一浮点型数组名*/
{
  int i;
  float av,s=a[0];
  for(i=1;i<5;i++)
  /***********SPACE***********/
  s+=【?】[i];
  av=s/5;
  /***********SPACE***********/
  return 【?】;
}

void main()
{
  float sco[5],av;
  int i;
  printf("\ninput 5 scores:\n");
  for(i=0;i<5;i++)
  /***********SPACE***********/
    scanf("%f",【?】);
  /***********SPACE***********/
  av=aver(【?】);
  printf("average score is %5.2f\n",av);
  getch();
}
答案:
   1). a
   2). av 或 (av)
   3). &sco[i] 或 sco+i
   4). sco

第32题 (9.0分)  题号:488
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:有一组基数值(正整数),输入一个正整数(小于100),
      问:如果该数由基数值相加构成(每个基数可以重复使用)
      ,那么最少可能利用的基数是多少个。

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

#include  <stdio.h>
#include  <stdlib.h>

#define   MAXSIZE   100
#define   min(a,b)  ((a) <= (b) ? (a) : (b))

void  main(void)
{
  int  num[MAXSIZE+1];
  int  base[] = { 1, 3, 4 };
  int  k= sizeof(base)/sizeof(int);
  int  n;
  int  i, j, MIN;
  char line[100];
  printf("\n============================");
  printf("\n\nBase Values : ");
  for (i = 0; i < k; i++)
    printf("%d ", base[i]);
  printf("\n\nYour input please --> ");
  gets(line);
  n = atoi(line);
  num[0] = 0;
  num[1] = 1;
  for (i = 2; i <= n; i++) 
  {
    /***********SPACE***********/
    【?】;                                        
    for (j = 0; j < k; j++)
      if (i >= base[j])
        MIN = min(num[i-base[j]]+1, MIN);        
      /***********SPACE***********/
      【?】;                                        
  }
  /***********SPACE***********/
  printf("\n\nMinimum = %d", 【?】);                        
}
答案:
   1). MIN = n
   2). num[i] = MIN
   3). num[n]

第33题 (9.0分)  题号:396
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入数组,最大的与最后一个元素交换,最小的与第一个元
      素交换,输出数组。

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

main()
{
  int number[10];
  input(number);
  max_min(number);
  output(number);
}

input(number)
int number[10];
{
  int i;
  /***********SPACE***********/
  for(i=0;【?】;i++)
    scanf("%d,",&number[i]);
    scanf("%d",&number[9]);
}

max_min(array)
int array[10];
{
  int *max,*min,k,l;
  int *p,*arr_end;
  arr_end=array+10;
  max=min=array;
  for(p=array+1;p<arr_end;p++)
    if(*p>*max) 
      max=p;
  else if(*p<*min) 
    /***********SPACE***********/
    【?】;
  k=*max;
  l=*min;
  *p=array[0];
  array[0]=l;
  /***********SPACE***********/
  【?】;
  *p=array[9];
  /***********SPACE***********/
  【?】;
  k=*p;
  return;
}

output(array)
int array[10];
{
  int *p;
  for(p=array;p<array+9;p++)
  printf("%d,",*p);
  printf("%d\n",array[9]);
}
答案:
   1). i<9 或 9>i
   2). min=p
   3). l=*p
   4). array[9]=k

第34题 (9.0分)  题号:480
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输出Fibonacci数列的前15项,要求每行输出5项。
      Fibonacci数列:1,1,2,3,5,8,13...........

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

#include <stdio.h>

main()
{
  /***********SPACE***********/
  int 【?】[14],i;                                
  fib[0]=1;fib[1]=1;
  for (i=2;i<15;i++)
    /***********SPACE***********/
    fib[i]=【?】;                                        
  for(i=0;i<15;i++)
  {
    printf("%d\t",fib[i]);
    /***********SPACE***********/
    if ( 【?】 ) printf("\n");                        
  }
}
答案:
   1). fib
   2). fib[i-2]+fib[i-1] 或 fib[i-2] + fib[i-1]
   3). i%5 == 4

第35题 (9.0分)  题号:5
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:将一个字符串中下标为m的字符开始的全部字符复制成为另
      一个字符串。

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

#include<stdio.h>
void strcopy(char *str1,char *str2,int m)

   char *p1,*p2; 
   /***********SPACE***********/
   【?】;  
   p2=str2;
   while(*p1)
   /***********SPACE***********/
   【?】; 
   /***********SPACE***********/
   【?】;
}
main()
{
   int i,m;
   char str1[80],str2[80];
   gets(str1); 
   scanf("%d",&m);
   /***********SPACE***********/
   【?】; 
   puts(str1);puts(str2);
}

答案:
   1). p1= str1 + m
   2). *p2++=*p1++ 或 *(p2++)=*(p1++) 或 *p2=*p1,p2++,p1++ 或 *p2=*p1++,p2++ 或 *p2++=*p1,p1++
   3). *p2='\0' 或 *p2=0 或 *p2=NULL
   4). strcopy(str1,str2,m)

第36题 (9.0分)  题号:414
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:通过函数的递归调用计算阶乘。

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

long power(int n)
{
  long f;
  if(n>1)
    /***********SPACE***********/
    f=【?】;
  else  
     f=1;
  return(f);
}
main()
{
  int n;
  long y;
  printf("input a inteager number:\n");
  /***********SPACE***********/
  scanf("%d",【?】);
  y=power(n);
  /***********SPACE***********/
  printf("%d!=%ld\n",n,【?】);
  getch();
}
答案:
   1). power(n-1)*n 或 power( n - 1 ) * n 或 n*power(n-1)
   2). &n
   3). power(n) 或 y

第37题 (9.0分)  题号:431
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:计算圆周率的近似值。

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

#include <stdio.h>
#include <math.h>
main()
{
  int s;
  /***********SPACE***********/
  float n,【?】;
  double t;
  t=1;pi=0;n=1;s=1;
  /***********SPACE***********/
  while(【?】>=2e-6)
  {
    pi+=t;n+=2;s=-s;t=s/n;
  }
  /***********SPACE***********/
  pi*=【?】;
  printf("pi=%.6f\n",pi);
}
答案:
   1). pi
   2). fabs(t)
   3). 4

第38题 (9.0分)  题号:409
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入数组,最大的与第一个元素交换,最小的与最后一个
      元素交换,输出数组。

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

main()
{
  int number[10];
  input(number);
  max_min(number);
  output(number);
}

input(number)
int number[10];
{
  int i;
  /***********SPACE***********/
  for(i=0;i<9;【?】)
  scanf("%d,",&number[i]);
  scanf("%d",&number[9]);
}

/***********SPACE***********/
max_min(【?】)
int array[10];
{
  int *max,*min,k,l;
  int *p,*arr_end;
  /***********SPACE***********/
  arr_end=【?】;
  max=min=array;
  for(p=array+1;p<arr_end;p++)
    if(*p>*max) max=p;
  /***********SPACE***********/
    else if(【?】) min=p;
  k=*max;
  l=*min; 
  *p=array[0];array[0]=l;l=*p;
  *p=array[9];array[9]=k;k=*p;
  return;
}

output(array)
int array[10];
{
  int *p;
  for(p=array;p<array+9;p++)
  printf("%d,",*p);
  printf("%d\n",array[9]);
}
答案:
   1). i++ 或 i=i+1 或 ++i
   2). array
   3). array+10 或 10+array
   4). *p<*min 或 *min>*p

第39题 (9.0分)  题号:486
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:删除字符串中的数字字符。
例如:输入字符串:48CTYP9E6,则输出:CTYPE。

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

#include <stdio.h>
/***********SPACE***********/
void  fun (【?】)                        
{
  char *p=s;
  while(*p)
    if((*p>='0')&&(*p<='9')) p++;        
      /***********SPACE***********/
    else *s++=【?】;                        
      /***********SPACE***********/
      【?】;                                
}

main( )
{
  char item[100] ;
  printf("\nEnter a string: ");
  gets(item); fun(item);
  printf("\nThe string:\"%s\"\n",item);
}
答案:
   1). char *s 或 char s[]
   2). *p++
   3). *s='\0' 或 *s=0

第40题 (9.0分)  题号:474
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:读入一行字符(如:a、...y、z),按输入时的逆序建立一个
      链接式的结点序列,即先输入的位于链表尾,然后再按输入
      的相反顺序输出,并释放全部结点。

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

#include <stdio.h>
main( )

  struct node
  {
    char info;
    struct node *link;
  } *top,*p;

char c;
  top=NULL;
  /***********SPACE***********/
  while((c= 【?】) != '\n'  )                
  {
    p=(struct node *)malloc(sizeof(struct node));
    p->info=c;
    p->link=top;
    /***********SPACE***********/
    【?】;                                        
  }
  while( top )
  {
    p=top;
    /***********SPACE***********/ 
    【?】;                                        
    putchar(p->info);
    free(p);
  }
}
答案:
   1). getchar( )
   2). top=p
   3). top=top->link

第41题 (9.0分)  题号:475
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:下面create函数的功能是建立一个带头结点的单向链表,
      新产生的结点总是插入在链表的末尾。输入0代表结束,单
      向链表的头指针作为函数值返回。

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

#include <stdio.h>

#define LEN sizeof(struct student)

struct student
{
  long num;
  struct student *next;
};

struct student *creat()
{
  struct student *head=NULL,*tail;
  long num;
  int a;
  /***********SPACE***********/
  tail=(【?】)malloc(LEN);                                
  printf("please input date\n");
  do
  {
    scanf("%ld",&num);
    /***********SPACE***********/
    if(【?】)                                                
    {
      /***********SPACE***********/
      if(【?】) 
        head=tail;                                        
      else 
        tail=tail->next;
      tail->num=num;
      tail->next=(struct list *)malloc(LEN);
    }
    else 
      tail->next=NULL;
   }while(num!=0);
  return(head) ;
}

main()
{
  struct student *p;
  p=creat();
  printf("you input  is\n");
  while(p)
  {
    printf("%d\n",p->num);
    p=p->next;
  }
}
答案:
   1). struct student *
   2). num!=0 或 0!=num
   3). head == NULL

第42题 (9.0分)  题号:468
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能: 对一数组进行逐步累加求和,prefix代表从前向后累加值,
      suffix代表从后向前累加值,问在此过程中prefix与suffix
      有几次值相同?

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

int  head_tail(int  x[], int n)
{
  int  prefix     = 0, suffix     = 0;
  int  prefix_idx = 0, suffix_idx = n-1;
  int  count = 0;
  while (suffix_idx >= 0 && prefix_idx <= n-1)
    /***********SPACE***********/                                
    if ( 【?】)                              
      prefix += x[prefix_idx++];
    else if (prefix > suffix) 
      /***********SPACE***********/
      suffix += x[【?】];                
    else 
    {                                    
      /***********SPACE***********/
      【?】;                                                   
      prefix += x[prefix_idx++]; 
      suffix += x[suffix_idx--]; 
    }
  return count;
}

#include  <stdio.h>

void main(void)
{
  int  x[] = { 3, 6, 2, 1, 4, 5, 2};
  int  n   = sizeof(x)/sizeof(int);
  int  i;
  printf("\nHead Sum == Tail Sum Counting Program");
  printf("\n=====================================\n");
  printf("\nGiven Array :");
  for (i = 0; i < n; i++)
    printf("%5d", x[i]);
  printf("\n\nThere are %d equal Prefix-Suffix sum pairs.",head_tail(x, n));
}
答案:
   1). prefix < suffix 或 suffix>prefix
   2). suffix_idx-- 或 suffix_idx= suffix_indx -1 或 --suffix_idx
   3). count++ 或 count=count+1

第43题 (9.0分)  题号:484
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:识别输入的字符串,每个单词输出一行

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

#include <stdio.h>
#include <string.h>
void main()
{
  int c;
  int inspace;
  /***********SPACE***********/
  【?】;                                        
  while((c = getchar()) != '\n')
  {
    if(c == ' ' || c == '\t' || c == '\n')
    {
      /***********SPACE***********/
      if(【?】)                                        
      {
        inspace = 1;
        putchar('\n');
      }
    }
    else
    {
      inspace = 0;
      /***********SPACE***********/
      【?】;                                        
    }
  }
}
答案:
   1). inspace = 0
   2). inspace == 0
   3). putchar(c)

第44题 (9.0分)  题号:440
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:先将在字符串s中的字符按正序存放到t串中,然后把s中的
      字符按逆序连接到t串的后面。

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

#include <conio.h>
#include <stdio.h>
#include <string.h>

void fun (char *s, char *t)

  int i, sl;
  /***********SPACE***********/
  sl = 【?】;  
  for(i=0; i<sl; i++)
    t[i] = s[i];
  for (i=0; i<sl; i++)
    /***********SPACE***********/
    t[sl+i] = 【?】; 
  /***********SPACE***********/
  t[sl+i]=【?】; 
}

main()
{
  char s[100], t[100];
  clrscr();
  /***********SPACE***********/
  printf("\nPlease enter string s:"); 【?】("%s",s);
  fun(s, t);
  printf("The result is: %s\n", t);
}

答案:
   1). strlen(s)
   2). s[sl-i-1] 或 s[ sl -i -1 ]
   3). '\0' 或 0
   4). scanf

第45题 (9.0分)  题号:425
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:当输入“2,5”的时候输出为“2 5 5”

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

#include <stdio.h>
#define max 100

main()
{
  int f[max],i,j,k,m;
  scanf("%d,%d",&k,&m);
  /***********SPACE***********/
  for(i=0;i<=【?】;i++)f[i]=0;
    /***********SPACE***********/
    f[【?】]=1;
  for(i=k;i<=m;i++)
    /***********SPACE***********/
    for(j=i-k;j<=i-1;j++)f[i]【?】f[j];
      printf("%d%10d%10d\n",k,m,f[m]);
}
答案:
   1). m
   2). k-1 或 k -1
   3). += 或 =1+

第46题 (9.0分)  题号:444
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用指向指针的指针的方法对n个字符串排序并输出。

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

#include "string.h"
#define N 100

void sort();

main()
{
  int i,n;
  char **p,*str[N],name[N][20];
  printf("n=");scanf("%d",&n);
  /***********SPACE***********/
  if(n<2【?】n>N) exit(0);
  for(i=0;i<n;i++)str[i]=name[i];
  printf("Input %d strings:\n",n);
  for(i=0;i<n;i++)
  {
    printf("name[%d]=",i);
    /***********SPACE***********/
    scanf("%s",【?】);
  }
  printf("String arry:\n");
  for(i=0;i<n;i++)
  {
    p=str+i;
    printf("%s\n",*p);
  }
  p=str;
  sort(p,n);
  printf("String sort:\n");
  for(i=0;i<n;i++)
  {
    p=str+i;
    printf("%s\n",*p);
  }
  getch();
}
/***********SPACE***********/
void sort(char 【?】,int n)
{
  int i,j;
  char *s;
  for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
      if(strcmp(p[i],p[j])>0)
      {
        s=p[i];
        /***********SPACE***********/
        【?】;
        p[j]=s;
      }
}
答案:
   1). ||
   2). str[i]
   3). **p
   4). p[i]=p[j]

第47题 (9.0分)  题号:32
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。

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

#include <conio.h>
#include <stdio.h>
/***********SPACE***********/
int fun(【?】 )
{
  int m=0,  mc=0, j, n;
  /***********SPACE***********/
  while (k >= 2 && 【?】) 
  {
  /***********SPACE***********/
    if (k%13 == 0 || 【?】)
    {
       m=m+k;
       mc++; 
    }
    k--;
  }
  /***********SPACE***********/
  【?】;
}
main ( )

  clrscr( );
  printf("%d\n", fun (500));
}

答案:
   1). int  k
   2). mc < 10 或 10 > mc 或 mc <= 9 或 9 >= mc
   3). k%17  ==  0 或 !(k%17) 或 k/17*17 == k
   4). return m 或 return (m)

第48题 (9.0分)  题号:456
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:利用指向结构的指针编写求某年、某月、某日是第
      几天的程序,其中年、月、日和年天数用结构表示。

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

main()
{
/***********SPACE***********/
 【?】 date
 {
    int y,m,d,n;
  /***********SPACE***********/
  }【?】;
 
  int k,f,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  printf("date:y,m,d=");
  scanf("%d,%d,%d",&x.y,&x.m,&x.d);
  f=x.y%4==0&&x.y%100!=0||x.y%400==0;
  /***********SPACE***********/
  a[1]+=【?】;
  if(x.m<1||x.m>12||x.d<1||x.d>a[x.m-1]) exit(0);
  for(x.n=x.d,k=0;k<x.m-1;k++)x.n+=a[k];
    /***********SPACE***********/
    printf("n=%d\n",【?】);
}

答案:
   1). struct
   2). x
   3). f
   4). x.n

第49题 (9.0分)  题号:420
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:计算某日是当年的第几天。

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

#include <stdio.h>

struct 
{
  int year;
  int month;
  int day;
}data;    /* 定义一个结构并声明对象为data */

void main()
{
  int days;
  printf("请输入日期(年,月,日):");
  scanf("%d, %d, %d", &data.year, &data.month, &data.day);
  switch(data.month)
  {
    case 1:days = data.day;
           break;
    /***********SPACE***********/
    case 2:days = data.day+【?】;
           break;
    case 3:days = data.day+59;
           break;
    case 4:days = data.day+90;
           break;
   /***********SPACE***********/
    case 5:days = data.day+【?】;
           break;
    case 6:days = data.day+151;
           break;
    case 7:days = data.day+181;
           break;
    case 8:days = data.day+212;
           break;
    case 9:days = data.day+243;
           break;
   case 10:days = data.day+273;
           break;
   case 11:days = data.day+304;
           break;
   case 12:days = data.day+334;
           break;
  }
  /***********SPACE***********/
  if(data.year%4==0&&data.year%100!=0【?】data.year%400==0)
    if(data.month>=3)
      /***********SPACE***********/
      days =【?】;
  printf("%d月%d日是%d年的第%d天.\n", data.month, data.day, data.year, days);
}
答案:
   1). 31
   2). 120
   3). ||
   4). days + 1 或 1+days 或 ++days

第50题 (9.0分)  题号:458
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用等分法在有序的循环数组中,找到最小元素的位置。

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

int  cyclic_min(int  x[], int n)
{
  int  left  = 0;
  int  right = n - 1;
  int  mid;
  /***********SPACE***********/
  while (【?】) 
  {                        
    mid = (left + right)/2;
    if (x[mid] < x[right])
      /***********SPACE***********/
       【?】;                        
    else
      /***********SPACE***********/
      【?】;                        
  }
  return left;
}

#include  <stdio.h>
void  main(void)
{
     int  x[] = { 20, 23, 28, 35, 39, 40, 42, 8, 10, 15, 17, 19};
     int  n   = sizeof(x)/sizeof(int);
     int  loc, i;

printf("\nFind Cyclic Minimum");
     printf("\n===================");
     printf("\n\nGiven Array Sorted in Cyclic Fashion :\n");
     for (i = 0; i < n; i++)
          printf("%3d", x[i]);
     loc = cyclic_min(x, n);
     printf("\n\nMinimum is located at x[%d] = %d", loc, x[loc]);
}
答案:
   1). left < right 或 right>left
   2). right = mid
   3). left  = mid + 1 或 left  = 1+mid

第51题 (9.0分)  题号:469
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用递归法将一个整数n转换成字符串,例如输入483,应输出
      对应的字符串"483"。n的位数不确定,可以是任意位数的整
      数。

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

#include <stdio.h>

void convert(int n)
{
  int i;
  /***********SPACE***********/
  if((【?】)!=0)                        
    convert(i);
  /***********SPACE***********/
  putchar(n%10+【?】);                
}

main()
{
  int number;
  printf("\nInput an integer:");
  scanf("%d",&number);
  printf("Output:");
  if(number<0)
  {
    putchar('-');
    /***********SPACE***********/
    【?】;                        
  }
  convert(number);
}
答案:
   1). i=n/10
   2). '0'
   3). number=-number

第52题 (9.0分)  题号:481
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再
      将第二次的商被8 除后余7 ,最后得到一个商为a。又知这
      个自然数被17除余4 ,所得的商被17除余15,最后得到一
      个商是a的2倍。编写程序求这个自然数。

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

main( ) 
{
  int i,n,a ;
  i=0 ;
  while(1)
  {
    if(i%8==1) 
    { 
      n=i/8 ;
      if(n%8==1)
      {
        n=n/8 ;
        /***********SPACE***********/
        if(n%8==7) 【?】 ;                        
      } 
    } 
    if(i%17==4) 
    {
      n=i/17 ;
      if(n%17==15) n=n/17 ;
    } 
    if(2*a==n) 
    { 
      printf("result=%d\n",i) ;
      /***********SPACE***********/
      【?】 ;                                        
    } 
    /***********SPACE***********/
    【?】;                                                
  } 

答案:
   1). a=n/8
   2). break
   3). i++ 或 ++i 或 i=i+1

第53题 (9.0分)  题号:450
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:一个40磅重的板碎成4块,每块正好是一个整数磅,且用这
      4块当砝码能称出1~40磅的整数重量的物体。编程求这4块
      的各自重量。

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

main()
{
  int i,j,k,l,p,t1,t2,t3,t4;
  for(i=1;i<38;i++)
    /***********SPACE***********/
    for(【?】;j<38-i;j++)
      /***********SPACE***********/
      for(k=j;k<【?】;k++)
      {
        l=40-i-j-k;
        for(p=1;p<40;p++)
        {
          for(t1=-1;t1<2;t1++)
            for(t2=-1;t2<2;t2++)
              for(t3=-1;t3<2;t3++)
                for(t4=-1;t4<2;t4++)
                  /***********SPACE***********/
                  if(【?】==p) goto next;
          break;
          /***********SPACE***********/
          next:if(p==【?】)
               {
                  printf("%d,%d,%d,%d\n",i,j,k,l);
                  exit(0);
               }
      }
  }
  printf("error.");
}

答案:
   1). j=i
   2). 39-i-j 或 39 -i -j
   3). i*t1+j*t2+k*t3+l*t4 或 i * t1 + j * t2 + k * t3 + l * t4
   4). 39

第54题 (9.0分)  题号:27
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:统计一个字符串中的字母、数字、空格和其它字符的个数。

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

#include "stdio.h"
main ()
{
  char s1[80];int a[4]={0};
  int k;
  /***********SPACE***********/
  【?】;
  gets(s1);
  /***********SPACE***********/
  【?】;
  puts(s1);
  for(k=0;k<4;k++)
    printf("%4d",a[k]);
}
void fun(char s[],int b[])
{
  int i;
  for (i=0;s[i]!='\0';i++)
  if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') 
    b[0]++;
  /***********SPACE***********/
  else if (【?】) 
    b[1]++;
  /***********SPACE***********/
  else if (【?】 ) 
    b[2]++;
  else
    b[3]++;
}

答案:
   1). void fun(char s[],int b[])
   2). fun(s1,a)
   3). '0'<=s[i] && s[i]<='9' 或 s[i]>='0' && s[i]<='9' 或 '0'<=s[i] && '9'>=s[i] 或 s[i]>='0' && '9'>=s[i] 或 48<=s[i] && s[i]<=57 或 s[i]>=48 && s[i]<=57 或 48<=s[i] && 57>=s[i] 或 s[i]>=48 && 57>=s[i] 或 !( x < 48 || x > 57 ) 或 !( x < '0' || x > '9' )
   4). s[i] == ' ' 或 s[i] == 32

第55题 (9.0分)  题号:457
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:功能:定义一个结构变量(包括年、月、日)计算给定日
      期是该年的第几天。

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

main()
{
/***********SPACE***********/
  【?】 date
  {
     int y,m,d;
  }da;
  
  int f,n,p,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  printf("y,m,d=");
  scanf("%d,%d,%d",&da.y,&da.m,&da.d);
  /***********SPACE***********/
  f=da.y%4==0&&da.y%100【?】0||da.y%400==0;
  /***********SPACE***********/
  if(da.m<1【?】da.d>12) exit(0);
  a[11]+=f;
  if(da.d<1||da.d>a[da.m-1]) exit(0);
  /***********SPACE***********/
  for(n=【?】,p=1;p<da.m;p++)n+=a[p-1];
    printf("n=%d\n",n);
}

答案:
   1). struct
   2). !=
   3). ||
   4). da.d

第56题 (9.0分)  题号:404
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:从键盘上输入两个复数的实部与虚部,求出并输出它们的
      和、差、积、商。

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

#include<stdio.h>
void main()
{
  float a,b,c,d,e,f;
  printf("输入第一个复数的实部与虚部:");
  scanf("%f, %f",&a,&b);
  printf("输入第二个复数的实部与虚部:");
  scanf("%f, %f",&c,&d);
  /***********SPACE***********/
  【?】;
  f=b+d;
  printf("相加后复数:实部:%f,虚部:%f\n",e,f);
  e=a*c-b*d;
  /***********SPACE***********/
  【?】;
  printf("相乘后复数:实部:%f,虚部:%f\n",e,f);
  e=(a*c+b*d)/(c*c+d*d);
  /***********SPACE***********/
  【?】;
  printf("相除后复数:实部:%f,虚部:%f\n",e,f);
}
答案:
   1). e=a+c 或 e=c+a
   2). f=a*d+b*c 或 f= a*d + b*c 或 f= a * d + b * c
   3). f=(b*c-a*d)/(c*c+d*d) 或 f=(b*c-a*d) / (c*c+d*d) 或 f=( b * c - a * d ) / ( c * c + d * d )

第57题 (9.0分)  题号:9
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:以下程序的功能如(图1)。

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

#include <math.h>
main()

  int f;
  /***********SPACE***********/
 【?】;
  float t,pi;
  t=1;pi=t;f=1;n=1.0;
  /***********SPACE***********/
  while(【?】 )
  {
    n=n+2;
    /***********SPACE***********/
    【?】;
    t=f/n;
    pi=pi+t;
  }
  /***********SPACE***********/
  【?】;
   printf("pi=%10.6f\n",pi);
}

答案:
   1). float n 或 duoble n
   2). fabs(t)>=1e-6 或 fabs(t)>=0.000001 或 1e-6<=fabs(t) 或 0.000001<=fabs(t)
   3). f=-f 或 f=-1*f 或 f=f*(-1) 或 f=f*-1 或 f=(-1)*f
   4). pi= pi * 4 或 pi*=4

第58题 (9.0分)  题号:490
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:利用函数计算连续的数组元素累加和的最大值。如果最大
      值是负数则返回0;

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

/***********SPACE***********/
int  max_sum( 【?】, int n)                        
{
  int  max_ending_here = 0;
  int  max_so_far      = 0;
  int  i;
  for (i = 0; i < n; i++) 
  {
    if (max_ending_here + x[i] < 0)
      /***********SPACE***********/
      【?】;                                
    else
      max_ending_here += x[i];
    if (max_ending_here > max_so_far)
      max_so_far = max_ending_here;
  }
  /***********SPACE***********/
  【?】;                                        
}

#include  <stdio.h>
void main(void)
{
  int  x[] = { 2, -3, 1, -1, 3, -2, -3, 3};
  int  n   = sizeof(x)/sizeof(int);
  int  i;
  printf("\nMaximum Consecutive Elements Sum Program");
  printf("\n========================================");
  printf("\n\nGiven Array :");
  for (i = 0; i < n; i++)
    printf("%4d", x[i]);
  printf("\n\nMaximum Sum is %d", max_sum(x, n));
}
答案:
   1). int x[]
   2). max_ending_here = 0
   3). return max_so_far

第59题 (9.0分)  题号:452
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:从键盘输入若干行字符,输入后把他们存储到一磁盘文件
      中。在从该文件中读出这些数据,将其中的小写字母转换
      成大写字母后在屏幕上输出。

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

#include "stdio.h"
#define N 100

main()
{
  FILE *fp;
  char c,*p,s[N][20];
  int i,n;
  printf("n=");scanf("%d",&n);
  /***********SPACE***********/
  if(n<1【?】n>N) exit(0);
  printf("Input%d string:\n",n);
  for(i=0;i<n;i++) 
    scanf("%s",s[i]);
  /***********SPACE***********/
  fp=fopen("text",【?】);
  for(i=0;i<n;i++)
  {
    p=s[i];
    /***********SPACE***********/
    while(*p!='\0')
      if(!ferror(fp)) fputc(【?】,fp);
  }
  fclose(fp);
  printf("\n");
  /***********SPACE***********/
  fp=fopen("text",【?】);
  while((c=fgetc(fp))!=EOF)
  {
    if(c>'a'&&c<='z')c-+32;
    putchar(c);
  }
  printf("\n");
  fclose(fp);
}

答案:
   1). ||
   2). "w"
   3). *p++
   4). "r"

第60题 (9.0分)  题号:20
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:求两个非负整数的最大公约数和最小公倍数。

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

main()
{
  int m,n,r,p,gcd,lcm;
  scanf("%d%d",&m,&n);
  if(m<n) {p=m,m=n;n=p;}
  p=m*n;
  r=m%n;
  /***********SPACE***********/
  while(【?】 )
  {
  /***********SPACE***********/
    m=n;n=r; 【?】;
   }
   /***********SPACE***********/
   gcd=【?】; 
   lcm=p/gcd;
   /***********SPACE***********/
   printf("gcd=%d,lcm=%d\n", 【?】);
}

答案:
   1). r != 0 或 r
   2). r=m%n 或 r=m-m/n*n
   3). n
   4). gcd,lcm 或 n,lcm

第61题 (9.0分)  题号:487
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入一个整数,计算它可能是哪两个整数的平方和,并打印
     结果数据。
     如:34是5和3或3和5的平方和。

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

#include  <stdio.h>           /* for I/O functions        */
#include  <stdlib.h>          /* for atoi()               */
#include  <math.h>            /* for sqrt()               */

void  main(void)
{
  int  given;              /* the given number         */
  int  row, column;        /* row and column indicators*/
  int  count;              /* number of solutions      */
  char line[100];
  printf("\nRepresenting a Given Number as the Sum of Two Squares");
  printf("\n=====================================================\n");
  printf("\nAn Integer Please ---> ");
  gets(line);
  given = atoi(line);
  printf("\nCount      X      Y");
  printf("\n-----  -----  -----");
  row    = 1;              /* starts from far enough   */
  column = (int) (sqrt((double) given) + 0.5);
  count  = 0;              /* so solution yet          */
  while (row <= given && column > 0)  /* scan down...  */
    if (row*row + column*column == given) 
    {
      /***********SPACE***********/
      【?】;                                        
      printf("\n%5d%7d%7d", count, row, column);
      row++;
      column--;
    }
    else if (row*row + column*column > given)
      /***********SPACE***********/
      【?】;                                        
    else
      /***********SPACE***********/
      【?】;                                        
  if (count == 0)
    printf("\n\nSorry, NO ANSWER found.");
  else
    printf("\n\nThere are %d possible answers.",count);
}
答案:
   1). count++ 或 ++count 或 count=count++1
   2). column-- 或 --column 或 column=column-1
   3). row++ 或 ++row 或 row= row + 1

第62题 (9.0分)  题号:455
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:要求输出结果为3。

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

#include <stdio.h>

main() 
{
  /***********SPACE***********/
  int m=1,n=1,【?】;
  s=akm(m,n);
  printf("%d",s); 
}

/***********SPACE***********/
akm(【?】,int n)

  if(m==0) 
    /***********SPACE***********/
   【?】 n+1;
  else if(m!=0&&n==0) 
    akm(m-1,1); 
  else if(m!=0&&n!=0) 
    akm(m-1,akm(m,n-1)); 
}
答案:
   1). s
   2). int m
   3). return

第63题 (9.0分)  题号:8
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出
      其和。

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

#include <stdio.h>
#include <conio.h>
main()
{
  int i,n,sum;
  sum=0;
  /***********SPACE***********/
  【?】;
  /***********SPACE***********/
  for(i=1; 【?】 ;i++)
  /***********SPACE***********/
    if(【?】)
      if(i%2==0)
      {
         sum=sum+i;
         n++;
         printf("%6d",i);
         /***********SPACE***********/
         if(【?】)  
            printf("\n");
      }
   printf("\ntotal=%d",sum);
}

答案:
   1). n=0
   2). i<=300 或 i<300 或 300>=i 或 300>i
   3).  i%7 == 0 || i%17 == 0 或 !(i%7)||!(i%17) 或 !(i%17)||!(i%7) 或 !(i%7&&i%17)
   4).  n%5 == 0 或 !(n%5) 或 n/5*5==n

第64题 (9.0分)  题号:34
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:以下程序的功能如(图1)。

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

#include <conio.h>
#include <stdio.h>
/***********SPACE***********/
float fun(【?】, int n) 

  /***********SPACE***********/
  【?】;  
  float xa=0, s; 
  for (j=0; j<n; j++ )
    xa += x[j]/n;
  /***********SPACE***********/
  【?】;
   for (j=0; j<n; j++ )
     s += (x[j]-xa)*(x[j]-xa)/n;
  /***********SPACE***********/
  【?】; 
}
main ( )

  float x[100] = {193.199, 195.673, 195.757, 196.051, 196.092,196.596,196.579, 196.763};
  clrscr( );
  printf("%f\n", fun (x, 8));
}

答案:
   1). float x[] 或 float *x
   2). int j
   3). s = 0 或 s = 0.0
   4). return s 或 return(s)

第65题 (9.0分)  题号:482
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:找出三个增序数组中值相同的数。

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

#define  FOUND       1
#define  NOT_FOUND   0

int  search(int x[], int y[], int z[], 
            int X, int Y, int Z,
            int *XX, int *YY, int *ZZ)
{
  *XX = *YY = *ZZ = 0;
  while (*XX < X && *YY < Y && *ZZ < Z) 
  if(x[*XX] < y[*YY])
    (*XX)++;
  else if (y[*YY] < z[*ZZ])
    (*YY)++;
  /***********SPACE***********/
  else if (【?】)                                
    (*ZZ)++;
  else
    /***********SPACE***********/
    【?】;                                        
  return NOT_FOUND;
}

#include  <stdio.h>
void main(void)
{
  int  x[] = { 1, 3, 5,  7,  9, 11, 13, 15, 17, 19};
  int  y[] = { 2, 4, 9, 10, 12, 14, 16, 18, 20, 21};
  int  z[] = { 1, 2, 3,  4,  5,  6,  7,  8,  9, 10};
  int  X   = sizeof(x)/sizeof(int);
  int  Y   = sizeof(y)/sizeof(int);
  int  Z   = sizeof(z)/sizeof(int);
  int  XX, YY, ZZ;
  printf("\nSearch for a Common Element from Three Arrays");
  printf("\n=============================================");
  printf("\n\nFirst Array :\n");
  for (XX = 0; XX < X; XX++)
    printf("%3d", x[XX]);
  printf("\n\nSecond Array :\n");
  for (YY = 0; YY < Y; YY++)
    printf("%3d", y[YY]);
  printf("\n\nThird Array :\n");
  for (ZZ = 0; ZZ < Z; ZZ++)
    printf("%3d", z[ZZ]);
  /***********SPACE***********/
  if (search(x, y, z, X, Y, Z, 【?】) > 0)                
    printf("\n\n%d is common to x[%d], y[%d] and z[%d]",
    x[XX], XX, YY, ZZ);
  else
    printf("\n\nNO COMMON ELEMENT FOUND.");
}
答案:
   1). z[*ZZ] < x[*XX] 或 x[*XX]>z[*ZZ]
   2). return FOUND 或 return 1
   3). &XX, &YY, &ZZ

第66题 (9.0分)  题号:476
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:不用第三个变量,实现两个数的对调操作。

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

#include <stdio.h>
main()

  int a,b;
  scanf("%d %d",&a,&b);
  printf("a=%d,b=%d\n",a,b);
  /***********SPACE***********/
  a= 【?】 ;                        
  /***********SPACE***********/
  b= 【?】 ;                        
  /***********SPACE***********/
  a= 【?】 ;                        
  printf("a=%d,b=%d\n",a,b);

答案:
   1). a + b
   2). a-b 或 a -b
   3). a-b 或 a -b

第67题 (9.0分)  题号:435
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:找出数组中最大值和此元素的下标,数组元素的值由键盘
      输入。

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

#include "stdio.h"
void main()
{
  int a[10],*p,*s,i;
  for(i=0;i<10;i++)
    /***********SPACE***********/
    scanf("%d", 【?】);
  /***********SPACE***********/
  for(p=a,s=a;【?】<10;p++)
    /***********SPACE***********/
    if(*p【?】*s) s=p;
      /***********SPACE***********/
  printf("max=%d,index=%d\n",【?】,s-a);
}
答案:
   1). a + i 或 &a[i]
   2). p-a 或 -a+p
   3). >
   4). *s

第68题 (9.0分)  题号:411
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:有n个人围成一圈,顺序排号。从第一个人开始报数(从1
      到3报数),凡报到3的人退出圈子,问最后留下的是原来
      第几号的那位。

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

#define nmax 50
main()
{
  int i,k,m,n,num[nmax],*p;
  printf("please input the total of numbers:");
  scanf("%d",&n);
  p=num;
  /***********SPACE***********/
  for(i=0;【?】;i++)
   /***********SPACE***********/
  *(p+i)=【?】;
  i=0;
  k=0;
  m=0;
  while(m<n-1)
  {
    /***********SPACE***********/
    if(【?】!=0) k++;
    if(k==3)
    {
      *(p+i)=0;
      k=0;
      m++;
    }
    i++;
    if(i==n) i=0;
  }
  /***********SPACE***********/
  while(【?】) p++;
  printf("%d is left\n",*p);
}
答案:
   1). i<n 或 n>i
   2). i+1 或 i + 1
   3). *(p+i) 或 *( p + i )
   4). *p==0 或 *p == 0

第69题 (9.0分)  题号:479
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:十个小孩围成一圈分糖果,老师分给第一个小孩 10 块,第二
     个小孩 2 块,第三个小孩 8 块,第四个小孩 22 块,第五个
     小孩16 块,第六个小孩 4块,第七个小孩 10 块,第八个小孩
     6 块,第九个小孩 14 块,第十个小孩20 块。然后所有的小孩
     同时将自己手中的糖分一半给左边的小孩;糖块数为奇数的人
     可向老师要一块。问经过这样几次调整后大家手中的糖的块数
     都一样?每人各有多少块糖?

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

main()

  int i,count=0,a[11]={0,10,2,8,22,16,4,10,6,14,20} ;
  /***********SPACE***********/
  while(【?】)                                 
  { 
    for(i=1 ; i<=10 ; i++)
    a[i-1]=a[i-1]/2+a[i]/2 ;
    a[10]=a[10]/2+a[0] ;
    for(i=1 ; i<=10 ; i++)
      /***********SPACE***********/
      if(【?】) a[i]++ ;                        
    for(i=1 ; i<10 ; i++)
      /***********SPACE***********/
      if(a[i]!=a[i+1]) 【?】;                
    if(i==10) 
      break ;
    else 
    {
      a[0]=0 ;
      count++ ;
    } 
  } 
  printf("count=%d number=%d\n",count,a[1]) ;
}
答案:
   1). 1
   2). a[i]%2 == 1
   3). break

第70题 (9.0分)  题号:401
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入某年某月某日,判断这一天是这一年的第几天?

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

main()
{
  int day,month,year,sum,leap;
  printf("\nplease input year,month,day\n");
  scanf("%d,%d,%d",&year,&month,&day);
  switch(month)
  {
    case 1:sum=0;break;
    case 2:sum=31;break;
    case 3:sum=59;break;
    /***********SPACE***********/
    case 4:【?】;break;
    case 5:sum=120;break;
    case 6:sum=151;break;
    case 7:sum=181;break;
    case 8:sum=212;break;
    case 9:sum=243;break;
    case 10:sum=273;break;
    case 11:sum=304;break;
    case 12:sum=334;break;
    default:printf("data error");break;
  }
  /***********SPACE***********/
 【?】;
  /***********SPACE***********/
  if(year%400==0||(【?】)
    leap=1;
  else
    leap=0;
  /***********SPACE***********/
  if(【?】)
    sum++;
  printf("It is the %dth day.",sum);
}

答案:
   1). sum=90
   2). sum=sum+day 或 sum= sum + day
   3). year%4==0&&year%100!=0) 或 year%4 == 0 && year%100 != 0
   4). leap==1&&month>2 或 leap == 1 && month>2 或 leap == 1 && 2<month

第71题 (9.0分)  题号:428
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输
      入当前日期(年:y1、月:m1、日:d1)。求出该学生的
      年龄(实足年龄)。

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

#include <stdio.h>
main()
{int age,y0,y1,m0,m1,d0,d1;
 printf("输入生日日期(年,月,日)");
/***********SPACE***********/
 【?】("%d,%d,%d",&y0,&m0,&d0);
 printf("输入当前日期(年,月,日)");
 scanf("%d,%d,%d",&y1,&m1,&d1);
 age=y1-y0;
/***********SPACE***********/
 if(m0【?】m1)age--;
/***********SPACE***********/
 if((m0【?】m1)&&(d0>d1))age--;
 printf("age=%3d",age);
}
答案:
   1). scanf
   2). >
   3). ==

第72题 (9.0分)  题号:464
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入一奇数n,打印由1->n*n构成的魔方矩阵。魔方矩阵的
      行列及对角线的和都相等。
      魔方矩阵:8 1 6
                3 5 7
                4 9 2

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

#include  <stdio.h>
#include  <stdlib.h>

#define   MAXSIZE   20

void main(void)
{
  int  matrix[MAXSIZE][MAXSIZE]; 
  int  count;                    
  int  row;                      
  int  column;                   
  int  n;                    
  char line[100];
  printf("\nOdd n Magic Square Generator");
  printf("\n================================");
  printf("\n\nn Please --> ");
  gets(line);
  n = atoi(line);
  if (n > MAXSIZE)
    printf("\n*** ERROR ***  n should be <= %d", MAXSIZE);
  else if (n % 2 == 0)
    printf("\n*** ERROR ***  n must be an odd integer");
  else 
  {
    row    = 0;         
    column = n/2;   
    for (count = 1; count <= n*n; count++) 
    {
      matrix[row][column] = count; 
      /***********SPACE***********/
      if (【?】 == 0)                                          
        row++;    
      else 
      {         
        /***********SPACE***********/
        row= (row == 【?】) ? n - 1 : row - 1;                
        /***********SPACE***********/
        column = (column == 【?】) ? 0 : column + 1;        
      }
    }
    printf("\n\nMagic Square of n %d :\n\n", n);
    for (row = 0; row < n; row++) 
    {
      for (column = 0; column < n; column++)
        printf("%4d", matrix[row][column]);
      printf("\n");
    }
  }
}
答案:
   1). count % n
   2). 0
   3). n-1 或 n -1

第73题 (9.0分)  题号:421
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入学生成绩并显示。

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

# include <stdio.h>

struct student
{
  char number[6];
  char name[6];
  int  score[3];
} stu[2];

void output(struct student stu[2]);

void main()
{
  int i, j;
  /***********SPACE***********/
  for(i=0; i<2; 【?】)
  {
    printf("请输入学生%d的成绩:\n", i+1);
    printf("学号:");
    /***********SPACE***********/
    scanf("%s", 【?】.number);
    printf("姓名:");
    scanf("%s", stu[i].name);
    for(j=0; j<3; j++)
    {
      printf("成绩 %d.  ", j+1);
      /***********SPACE***********/
      scanf("%d", 【?】.score[j]);
    }
    printf("\n");
  }
  output(stu);
}

void output(struct student stu[2])
{
  int i, j;
  printf("学号  姓名  成绩1  成绩2  成绩3\n");
  for(i=0; i<2; i++)
  {
  /***********SPACE***********/
  【?】("%-6s%-6s", stu[i].number, stu[i].name);
  for(j=0; j<3; j++)
    printf("%-8d", stu[i].score[j]);
    printf("\n");
  }
}
答案:
   1). i++ 或 ++i 或 i=i+1
   2). &stu[i]
   3). &stu[i]
   4). printf

第74题 (9.0分)  题号:463
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入一正整数n、打印1-n能够组成的所有自然数集合
     (包含空集)。

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

#include  <stdio.h>
#include  <stdlib.h>

#define   MAXSIZE      20
#define   LOOP          1

void main(void)
{
  int  set[MAXSIZE];
  int  n, i;
  int  position;
  char line[100];
  printf("\nAll Possible Subsets Generation by Lexical Order");
  printf("\n================================================");
  printf("\n\nNumber of Elements in the Set --> ");
  gets(line);
  n = atoi(line);
  printf("\n{}");
  position      = 0;
  set[position] = 1;
  while (LOOP) 
  {
    /***********SPACE***********/
    printf("\n{%d", 【?】);                        
    for (i = 1; i <= position; i++)
      printf(",%d", set[i]);
    printf("}");
    if (set[position] < n) 
    {
      /***********SPACE***********/
      set[【?】] = set[position] + 1;        
      position++;
    }
    else if (position != 0)
      set[--position]++;
    else
    /***********SPACE***********/
      【?】;
  }                                
}
答案:
   1). set[0]
   2). position+1
   3). break

第75题 (9.0分)  题号:426
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:百马百担问题:有100匹马,驮100担货,大马驮三担,中
      马驮2担,两匹小马驮一担,求大、中、小马各多少匹?

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

#include <stdio.h>
main()
{
  int hb,hm,hl,n=0;
  /***********SPACE***********/
  for(hb=0;hb<=100;hb+=【?】)
    /***********SPACE***********/
    for(hm=0;hm<=100-hb;hm+=【?】)
    {
      /***********SPACE***********/
      hl=100-hb-【?】;
      /***********SPACE***********/
      if(hb/3+hm/2+2*【?】==100)
      {
        n++;
        printf("hb=%d,hm=%d,hl=%d\n",hb/3,hm/2,2*hl);
      }
    }
  printf("n=%d\n",n);
  getch();
}
答案:
   1). 3
   2). 2
   3). hm
   4). hl

第76题 (9.0分)  题号:432
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:计算平均成绩并统计90分以上人数。

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

main()
{
  int n,m;float grade,average;
  /***********SPACE***********/
  average=n=m=【?】;
  while(1)
  {
    /***********SPACE***********/
   【?】("%f",&grade);
    if(grade<0) break;
    n++;
    average+=grade;
    /***********SPACE***********/
    if(grade<90)【?】;
    m++;
  }
  if(n) printf("%.2f%d\n",average/n,m);
}
答案:
   1). 0
   2). scanf
   3). continue

第77题 (9.0分)  题号:19
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:是将两个字符串连接为一个字符串,不许使用库函数strcat。

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

#include "stdio.h"
#include "string.h"
main ( )
{
  char str1[80],str2[40];
  int i,j,k;
  gets(str1);gets(str2);
  puts(str1);puts(str2);
  /***********SPACE***********/
  【?】;
  puts(str1);
}

JOIN(s1,s2)
char s1[80],s2[40];
{
  int i,j;
  /***********SPACE***********/
  【?】;
  /***********SPACE***********/
  for (i=0; 【?】'\0';i++)
     s1[i+j]=s2[i];
  /***********SPACE***********/
  s1[i+j]= 【?】  ;
}

答案:
   1). JOIN(str1,str2)
   2). j=strlen(s1) 或 for(j=0;s1[j]!='10';j++); 或 for(j=0;s1[j];j++);
   3). s2[i]!= 或 *(s2 + i)!=
   4). '\0' 或 NULL 或 0

第78题 (9.0分)  题号:483
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:对数组 A 中的N( 0 <N<100)个整数从小到大进行连续编
      号,输出各个元素的编号。要求不能改变数组A中元素的
      顺序,且相同的整数要具有相同的编号。
例如:数组是: A=(5,3,4,7,3,5,6)
      则输出为:(3,1,2,5,1,3,4)

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

main() 
{
  int i,j,k,n,m=1,r=1,a[2][100]={0} ;
  printf("Please enter n:") ;
  scanf("%d",&n) ;
  for(i=0 ; i<n ; i++)
  {
    printf("a[%d]= ",i) ;
    scanf("%d",&a[0][i]) ;
  } 
  /***********SPACE***********/
  while(【?】)                                                
  {
    for(i=0 ; i<n ; i++)
      if(a[1][i]==0)
        /***********SPACE***********/        
        【?】 ;                                                
    k=i ;
    for(j=i ; j<n ; j++)
    /***********SPACE***********/
    if(a[1][j]==0 && a[0][j]<a[0][k]) 【?】 ;         
    a[1][k]=r++ ;
    m++ ;
    for(j=0 ; j<n ; j++)
      if(a[1][j]==0 && a[0][j]==a[0][k]) 
      {
        a[1][j]=a[1][k] ;
        m++ ;
      } 
  }
  for(i=0 ; i<n ; i++)
    printf("a[%d]=%d, %d\n",i,a[0][i],a[1][i]) ;

答案:
   1). m<n 或 n>m
   2). break
   3). k=j

第79题 (9.0分)  题号:465
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入颜色字符串包含b、w、r,分别代表BLUE,WHITE,RED
   颜色。重新整理字符串,变为bbb....www...rrr形式。
   如:输入: bwwrbbrr
      整理后输出:bbbwwrrr  

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

#include  <string.h>                      
#define   BLUE    'b'
#define   WHITE   'w'
#define   RED     'r'

#define   SWAP(x, y)  {  char temp;            \
                         temp     = color[x];  \
                         color[x] = color[y];  \
                         color[y] = temp;      \
                      }

void  dutch_flag(char color[])
{
  int  white = 0;
  int  blue  = 0;
  int  red   = strlen(color) - 1;
  while (white <= red)     
    if (color[white] == WHITE) 
      white++;       
    else if (color[white] == BLUE)
    {
      /***********SPACE***********/
      SWAP(【?】);                                 
      blue++, white++; 
    }
    else 
    {              
      /***********SPACE***********/
      while (【?】 && color[red] == RED)        
      red--;    
      /***********SPACE***********/
      SWAP(【?】);                                
      red--;        
    }
}

#include  <stdio.h>

#define   MAXSIZE  100

void main(void)
{
  char  flag[MAXSIZE];
  printf("\nDutch National Flag Problem");
  printf("\n===========================");
  printf("\n\nInput a String of Color Tokens (b, w and r)\n");
  gets(flag);
  dutch_flag(flag);
  printf("\nRearranged Flag is :");
  printf("\n%s", flag);
}
答案:
   1). blue, white
   2). white<red 或 red>white
   3). red, white

第80题 (9.0分)  题号:445
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和
      以及0的个数,n通过scanf()函数输入。

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

main()
{
  int r=1,s=0,t=0,n,a,i;
  printf("n=");scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    printf("a=");
    /***********SPACE***********/
    scanf("%d",【?】);
    /***********SPACE***********/
    if(【?】!=0)
      /***********SPACE***********/
      【?】=a;
    else if(a!=0)
      /***********SPACE***********/
      s+=【?】;
    else
      t++;
  }
  printf("r=%d,s=%d,t=%d\n",r,s,t);
}

答案:
   1). &a
   2). a%2
   3). r*
   4). a*a

第81题 (9.0分)  题号:14
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输出100到1000之间的各位数字之和能被15整除的所有数,
      输出时每10个一行。

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

main()
{
  int m,n,k,i=0;
  for(m=100;m<=1000;m++)
  {
    /***********SPACE***********/
    【?】;
    n=m;
    do
    {
     /***********SPACE***********/
       k=k+【?】 ;
       n=n/10;
     }
     /***********SPACE***********/
     【?】;
     if (k%15==0)
     {
        printf("%5d",m);i++;
        /***********SPACE***********/
        if(i%10==0) 【?】;
      }
   }
}
答案:
   1). k=0
   2). n%10 或 n-n/10*10 或 n-10*(n/10)
   3). while(n>0) 或 while(0<n) 或 while(n!=0) 或 while(0!=n)
   4). printf("\n")

第82题 (9.0分)  题号:7
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:从键盘上输入一个字符串, 将该字符串升序排列后输出到
      文件test.txt中,然后从该文件读出字符串并显示出来。

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

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

main()

   FILE  *fp;
   char t,str[100],str1[100];    int n,i,j;
   if((fp=fopen("test.txt","w"))==NULL)
   { 
       printf("can't open this file.\n");
       exit(0);
   }
   printf("input a string:\n"); gets(str);
   /***********SPACE***********/
   【?】;
   /***********SPACE***********/
   for(i=0; 【?】 ;i++)
     for(j=0;j<n-i-1;j++)
     /***********SPACE***********/
     if(【?】)
     {
        t=str[j];
        str[j]=str[j+1];
        str[j+1]=t; 
      }
   /***********SPACE***********/
  【?】; 
   fclose(fp);
   fp=fopen("test.txt","r");
   fgets(str1,100,fp);
   printf("%s\n",str1);
   fclose(fp);    
}

答案:
   1). n=strlen(str) 或 for(n=0;str[n]!='\0';n++) 或 for(n=0;str[n];n++) 或 for(n=0;str[n]!=0;n++)
   2). i<n 或 n>i 或 i<-1+n 或 i<n-1 或 n-1>i 或 -1+n>i 或 i<=n-1 或 n-1>=i 或 -1+n>=i
   3). str[j]>str[ j + 1 ] 或 str[ j + 1 ]<str[j] 或 str[j+1]<str[j] 或 str[j+1]<=str[j]
   4). fputs(str,fp) 或 fprintf(fp,"%s\n",str) 或 fprintf(fp,"%s",str)

第83题 (9.0分)  题号:416
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:计算个人与各科平均成绩及全班平均成绩,并在屏幕上显
      示出来。

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

#define M 5   /*定义符号常量 人数为5*/
#define N 4   /*定义符号常量 课程为4*/
#include "stdio.h"
main()
{
  int i,j;
  void aver(float sco[M+1][N+1]);
  static float score[M+1][N+1]={{78,85,83,65}, {88,91,89,93}, {72,65,54,75},{86,88,75,60},{69,60,50,72}};
  aver(score);              
  clrscr();
  printf("学生编号  课程1   课程2   课程3   课程4   个人平均\n");
  for(i=0;i<M;i++)
  {
    printf("学生%d\t",i+1);
    /***********SPACE***********/
    for(j=0;j<【?】;j++)
      printf("%6.1f\t",score[i][j]);
    printf("\n");
  }
  for(j=0;j<8*(N+2);j++)
    printf("-");    
  printf("\n课程平均");
  for(j=0;j<N+1;j++)  
    printf("%6.1f\t",score[i][j]);
  printf("\n");
  getch();
}

void aver(float sco[][N+1])           
{
  int i,j;
  /***********SPACE***********/
  for(i=0;i<【?】;i++)
  {
    for(j=0;j<N;j++)
    {
      sco[i][N] += sco[i][j];
      sco[M][j] += sco[i][j];    
      sco[M][N] += sco[i][j];   
    }
    /***********SPACE***********/
    sco[i][N] 【?】 N;
  }
  for(j=0;j<N;j++)  
  /***********SPACE***********/
    sco[M][【?】] /= M; 
  sco[M][N]=sco[M][N]/M/N;   
}
答案:
   1). N+1 或 1+N 或 5
   2). M 或 5
   3). /=
   4). j

第84题 (9.0分)  题号:472
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:现有两组有序数组(增序),x[i]、y[j]代表数组x、y的
      任一元素,问满足x[i]>y[i]的元素对有多少个?

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

int  dominance_count(int f[], int g[], int m, int n)
{
  int  index_f, index_g;
  int  count;
  count = index_f = index_g = 0;
  while (index_f < m && index_g < n)
    if (f[index_f] <= g[index_g])
      index_f++;
    else
    {
      index_g++;
      /***********SPACE***********/
      count += 【?】;
    }                        
  /***********SPACE***********/
 【?】;                                                
}

#include <stdio.h>

void main(void)
{
  int  x[] = {  1,  6,  8  };
  int  nx  = sizeof(x)/sizeof(int);
  int  y[] = {  4,  5,  7  };
  int  ny  = sizeof(y)/sizeof(int);
  int  dominance_count(int [], int [], int, int), i;
  printf("\nDominance Count of two Increasing Arrays\n");
  printf("\n  #   Array 1   Array 2");
  printf("\n --   -------   -------");
  for (i = 0; i < nx; i++)
    printf("\n%3d%10d%10d", i, x[i], y[i]);
  printf("\n\nThere are %d Dominance Pairs.", 
 /***********SPACE***********/
 【?】);                                        
}
答案:
   1). m - index_f 或 m  - index_f
   2). return count
   3). dominance_count(x, y, nx, ny)

第85题 (9.0分)  题号:400
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用结构体调用的方法编程。要求输入A,B,C,D,E,F五
      个元素的数值,并按从大到小的顺序输出。

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

#define N sizeof tbl/sizeof tbl[0]  /*取得数组有多少个元素*/
int A,B,C,D,E,F;

struct ele
{
  char vn;
  /***********SPACE***********/
  int 【?】;  
}tbl[]={{'A',&A},{'B',&B},{'C',&C},{'D',&D},{'E',&E},{'F',&F}},t;

main()
{
  int k,j,m;
  /***********SPACE***********/
  for(k=0;k<【?】;k++)
  {
    printf("Enter data for %c\n",tbl[k].vn);
    scanf("%d",tbl[k].vp);
  }
  m=N-1;
  while(m>0)
  {
    for(k=j=0;j<m;j++)
      /***********SPACE***********/
      if(*tbl[j].vp<【?】) 
      {
        t=tbl[j];
        tbl[j]=tbl[j+1];
        tbl[j+1]=t;
        k=j;
      }
    /***********SPACE***********/
    【?】; 
  }
  for(k=0;k<N;k++)
    printf("%c(%d)",tbl[k].vn,*tbl[k].vp);
  printf("\n");
  getch();
}
答案:
   1). *vp
   2). N
   3). *tbl[j+1].vp 或 *tbl[ j + 1 ].vp
   4). m=k

第86题 (9.0分)  题号:417
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:利用全局变量计算长方体的体积及三个面的面积。

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

int s1,s2,s3;
int vs(int a,int b,int c)
{
  int v;
  /***********SPACE***********/
  v=【?】;
  s1=a*b;
  /***********SPACE***********/  
  s2=【?】;
  s3=a*c;
  return  v;
}

main()
{
  int v,l,w,h;
  clrscr();
  printf("\ninput length,width and height: ");
  /***********SPACE***********/
  scanf("%d%d%d",【?】,&w,&h);
  /***********SPACE***********/
  v=【?】;
  printf("v=%d    s1=%d    s2=%d    s3=%d\n",v,s1,s2,s3);
  getch();
}
答案:
   1). a*b*c 或 a * b * c
   2). b*c 或 b * c
   3). &l
   4). vs(l,w,h) 或 vs( l , w , h )

第87题 (9.0分)  题号:405
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:要求输出结果为:
      A,B
      65,66

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

#include<stdio.h>
void main()
{
  /***********SPACE***********/
  char a,【?】;
  /***********SPACE***********/
  a=【?】;
  b='b';
  a=a-32;
  /***********SPACE***********/
  b=b-【?】;
  printf("%c, %c\n%d,%d\n",a,b,a,b);
}

答案:
   1). b
   2). 'a' 或 97
   3). 32

第88题 (9.0分)  题号:430
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:计算一元二次方程的根。

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

#include <stdio.h>
/***********SPACE***********/
#include 【?】
main()
{
  float a,b,c,disc,x1,x2,realpart,imagpart;
  scanf("%f%f%f",&a,&b,&c);
  printf("the equation");
  /***********SPACE***********/
  if(【?】<=1e-6)
    printf("is not quadratic\n");
  else
    disc=b*b-4*a*c;
  if(fabs(disc)<=1e-6)
    printf("has two equal roots:%-8.4f\n",-b/(2*a));
  /***********SPACE***********/
  else if(【?】)
  {
    x1=(-b+sqrt(disc))/(2*a);
    x2=(-b-sqrt(disc))/(2*a);
    printf("has distinct real roots:%8.4f and %.4f\n",x1,x2);
  }
  else
  {
    realpart=-b/(2*a);
    imagpart=sqrt(-disc)/(2*a);
    printf("has complex roots:\n");
    printf("%8.4f=%.4fi\n",realpart,imagpart);
    printf("%8.4f-%.4fi\n",realpart,imagpart);
  }
}
答案:
   1). <math.h>
   2). fabs(a)
   3). fabs(disc)  > 1e-6 或 1e-6 <fabs(disc)

第89题 (9.0分)  题号:437
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:建立一个如下的二维数组,并按以下格式输出。
1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1

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

#include "stdio.h"
void main()
{
 int a[5][5]={0},*p[5],i,j;
 for(i=0;i<5;i++)
 /***********SPACE***********/
    p[i]=【?】;
 for(i=0;i<5;i++)
 {
    /***********SPACE***********/
    *(【?】+i)=1;
    /***********SPACE***********/
    *(p[i]+5-(【?】))=1;
  }
  for(i=0;i<5;i++)
  {
    for(j=0;j<5;j++)printf("%2d",p[i][j]);
      /***********SPACE***********/
      【?】;
  }
}
答案:
   1). &a[i][0]
   2). p[i]
   3). i+1 或 1+i
   4). putchar('\n');

第90题 (9.0分)  题号:3
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:已定义一个含有30个元素的数组s,函数fun1的功能是按
      顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序
      每五个元素求一个平均值, 并将该值存放在数组w中。

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

float s[30],w[6];
fun1(float s[])
{
  int k,i;
  for(k=2,i=0;i<30;i++)
  {
     /***********SPACE***********/
     【?】 ;
     k+=2;
  }
}
fun2(float s[],float w[])
{
  float sum=0.0;
  int k,i;
  for(k=0,i=0;i<30;i++)
  {
     sum+=s[i];
     /***********SPACE***********/
     【?】;
     { 
        w[k]=sum/5;
        /***********SPACE***********/
        【?】 ;
        k++;
     }
  }
}
main()
{
   int i;
   fun1(s);
   /***********SPACE***********/
   【?】;
   for(i=0;i<30;i++)
   {
     if(i%5==0) printf("\n");
       printf("%8.2f",s[i]);
   }
   printf("\n");
   for(i=0;i<6;i++)
   printf("%8.2f",w[i]);
}

答案:
   1). s[i]=k 或 s[i]=(i+1)*2
   2). if( ( i + 1 )%5 == 0 ) 或 if( ( i + 1 )/5*5 ==i+1)
   3). sum=0 或 sum=0.0
   4). fun2(s,w)

第91题 (9.0分)  题号:402
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输入三个整数x,y,z,请把这三个数由小到大输出。

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

main()
{
  int x,y,z,t;
  scanf("%d%d%d",&x,&y,&z);
  /***********SPACE***********/
  if (x>y){【?】}
  /***********SPACE***********/
  if(x>z){【?】}
  /***********SPACE***********/
  if(y>z){【?】}
  printf("small to big: %d %d %d\n",x,y,z);
}

答案:
   1). t=x;x=y;y=t;
   2). t=z;z=x;x=t;
   3). t=y;y=z;z=t;

第92题 (9.0分)  题号:410
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数
      变成最前面的m个数

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

main()
{
  int number[20],n,m,i;
  printf("the total numbers is:");
  scanf("%d",&n);
  printf("back m:");
  scanf("%d",&m);
  for(i=0;i<n-1;i++)
    scanf("%d,",&number[i]);
  scanf("%d",&number[n-1]);
  /***********SPACE***********/
  move(【?】);
  for(i=0;i<n-1;i++)
    printf("%d,",number[i]);
  printf("%d",number[n-1]);
}

/***********SPACE***********/
move(【?】)
int n,m,array[20];
{
  int *p,array_end;
  /***********SPACE***********/
  array_end=*(【?】);
  for(p=array+n-1;p>array;p--)
    /***********SPACE***********/
    *p=*(【?】);
  *array=array_end;
  m--;
  if(m>0) move(array,n,m);
}
答案:
   1). number,n,m
   2). array,n,m
   3). array+n-1 或 array + n -1
   4). p-1 或 p -1

第93题 (9.0分)  题号:427
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3
      元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡
      各多少只?

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

#include <stdio.h>
main()
{
  int cocks,hens,chicks;
  cocks=0;
  while(cocks<=19)
  {
  /***********SPACE***********/
   【?】=0;
    /***********SPACE***********/
    while(hens<=【?】)
    {
      chicks=100.0-cocks-hens;
      if(5.0*cocks+3.0*hens+chicks/3.0==100.0)
         printf("%d,%d,%d\n",cocks,hens,chicks);
      /***********SPACE***********/
     【?】;
    }
    /***********SPACE***********/
    【?】;
  } 
}
答案:
   1). hens
   2). 33
   3). hens++ 或 ++hens 或 hens=hens+1
   4). cocks++ 或 ++cocks 或 cocks=cocks+1 或 cocks= cocks + 1

第94题 (9.0分)  题号:454
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c)).其中
      ,s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带
      参数的宏,一个用来求s,另一个用来求area。编写程序,
      在程序中用带参数的宏求面积area。

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

#include "math.h"

/***********SPACE***********/
#【?】 S(x,y,z)(x+y+z)/2
#define AREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z))

main()
{
  float a,b,c,s,area;
  printf("a,b,c=");
  /***********SPACE***********/
  scanf("%f,%f,%f",&a,【?】,&c);
  if(a+b>c&&b+c>a&&c+a>b)
  {
    /***********SPACE***********/
    s=【?】;
    /***********SPACE***********/
    area=【?】;
    printf("area=%f\n",area);
  }
}

答案:
   1). define
   2). &b
   3). S(a,b,c)
   4). AREA(s,a,b,c)

第95题 (9.0分)  题号:436
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输出两个整数中大的那个数,两个整数由键盘输入。

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

#include "stdio.h"
void main()
{
  int a,b,*p1,*p2;
  /***********SPACE***********/
  p1=【?】malloc(sizeof(int));
  p2=(int*)malloc(sizeof(int));
  /***********SPACE***********/
  scanf("%d%d",【?】,p2);
  if(*p2>*p1) *p1=*p2;
  free(p2);
  /***********SPACE***********/
  printf("max=%d\n",【?】);
}

答案:
   1). (int *)
   2). p1
   3). *p1

第96题 (9.0分)  题号:29
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:下面函数为二分法查找key值。数组中元素已递增排序,
      若找到key则返回对应的下标,否则返回-1。

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

fun(int a[],int n,int key)
{
  int low,high,mid;
  low=0;
  high=n-1;
  /***********SPACE***********/
  while(【?】)
  {
    mid=(low+high)/2;
  if(key<a[mid]) 
    /***********SPACE***********/
    【?】;
  else if(key>a[mid]) 
  /***********SPACE***********/
  【?】;
  else  
    /***********SPACE***********/
    【?】;
  }
  return -1;
}
main()
{
  int a[10]={1,2,3,4,5,6,7,8,9,10};
  int b,c;
  b=4;
  c=fun(a,10,b);
  if(c==1) 
     printf("not found");
  else 
     printf("position %d\n",c);
}

答案:
   1). low<=high 或 high>=low
   2). high=mid-1
   3). low= mid + 1
   4). return  mid 或 return  (mid)

第97题 (9.0分)  题号:423
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:考查字符串数组的应用。输出26个英文字母。

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

#include <stdio.h>
void main (void)
{
  char string[256];
  int i;
  /***********SPACE***********/
  for (i = 0; i < 26; 【?】)
  /***********SPACE***********/
    string[i] = 【?】;
  string[i] = '\0';
  /***********SPACE***********/
  printf ("the arrary contains %s\n",【?】);
}
答案:
   1). i++ 或 ++i 或 i=i+1 或 i+=1
   2). 'A' + i 或 i+'A' 或 65 + i 或 i+65
   3). string

第98题 (9.0分)  题号:485
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能: 统计子字符串substr在字符串str中出现的次数。
例如:若字符串为"aaas lkaaas",子字符串为"as",则应输出2。
      若字符串为"asasasa",子字符串为"asa",则应输出3

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

#include <stdio.h>

fun (char *substr,char *str)
{  
  int i,j,k,num=0;
  for(i=0; str[i]; i++)
    for(j=i,k=0;substr[k]==str[j];k++,j++)
      /***********SPACE***********/
      if(substr[【?】]=='\0')                
      {
        num++;
        /***********SPACE***********/
        【?】;                        
      }
  return num;
}

main()
{
  char str[80],substr[80];
  printf("Input a string:") ;
  gets(str);
  printf("Input a substring:") ;
  gets(substr);
  /***********SPACE***********/
  printf("%d\n",【?】);        
}
答案:
   1). k + 1
   2). break
   3). fun(substr,str)

第99题 (9.0分)  题号:33
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:以下程序的功能如(图1)。

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

#include <conio.h>
#include <stdio.h>
/***********SPACE***********/
double  f(【?】)
{  
  /***********SPACE***********/
  【?】; 
  /***********SPACE***********/
  if (【?】)
    y=2.0*x*x+3.0*x+4.0;
  else
    y=-2.0*x*x+3.0*x-4.0;
/***********SPACE***********/
 【?】;
}

main ( )
{  
  clrscr( );
  printf("%f\n", f(f(-1.0)+f(5.0)));
}

答案:
   1). float x 或 double x
   2). double y
   3). x<=2 或 2>=x
   4). return y 或 return (y)

第100题 (9.0分)  题号:434
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:要求输出如下结果:
      b=-1  a=65535
      a=65534
      a=30 b=6 c=5
      按要求在空中填入合适的变量完善程序。

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

main()
{
  /***********SPACE***********/
  int b=-1,【?】;unsigned a;
  /***********SPACE***********/
  a=【?】;
  printf("b=%d a=%u\n",b,a);
  /***********SPACE***********/
  【?】+=b;
  printf("a=%u\n",a);
  /***********SPACE***********/
  b=(a=30)/【?】;
  printf("a=%d b=%d c=%d\n",a,b,c);
}
答案:
   1). c
   2). b
   3). a
   4). (c=5)

第101题 (9.0分)  题号:418
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用函数调用方式,实现字符串的复制。

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

void string_copy(char *str_from, char *str_to)
{
  int i=0;
  /***********SPACE***********/
  for(; (*(【?】)=*(str_from+i))!='\0'; i++) ;
}

main()
{
  static char array_str1[20]="I am a teacher.";
  char array_str2[20];
  /***********SPACE***********/
  【?】(array_str1, array_str2);
  /***********SPACE***********/
  【?】("array_str2=%s\n",array_str2);
}
答案:
   1). str_to+i 或 i+str_to
   2). string_copy
   3). printf

第102题 (9.0分)  题号:35
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:计算并输出high以内最大的10个素数之和,high由主函数传
      给fun函数,若high的值为100,则函数的值为732。

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

#include <conio.h>
#include <stdio.h>
#include <math.h>
int fun( int  high )

  int sum = 0,  n=0,  j,  yes;
  /***********SPACE***********/
  while ((high >= 2) && (【?】))
  {  
    yes = 1;
    for (j=2; j<=high/2; j++ )
      /***********SPACE***********/
      if (【?】)
      {
        yes=0;
        break;
      }
      if (yes)
      {
        sum +=high; 
        n++; 
      }
     high--;
  }
  /***********SPACE***********/
  【?】;
}

main ( )
{  
   clrscr( );
   printf("%d\n", fun (100));
}

答案:
   1). n<10 或 10>n
   2). high%j == 0 或 !(high%j)
   3). return  sum 或 return  (sum)

第103题 (9.0分)  题号:4
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:下面的程序是求1!+3!+5!+……+n!的和。

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

main()
{
  long int f,s;
  int i,j,n;
  /***********SPACE***********/
  【?】;
  scanf("%d",&n); 
  /***********SPACE***********/
  for(i=1;i<=n; 【?】) 
  { 
     f=1;                  
     /***********SPACE***********/
     for(j=1; 【?】;j++)
     /***********SPACE***********/
     【?】;
      s=s+f;
  }
  printf("n=%d,s=%ld\n",n,s);
}

答案:
   1). s=0
   2). i+=2 或 i=i+2 或 i++,i++
   3). j<=i 或 i>=j 或 j<i+1 或 i+1>j
   4). f= f * j

第104题 (9.0分)  题号:22
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:打印以下图形。

*****
 *****
  *****
   *****
    *****

-------------------------------------------------------*/
 
main ( )
{

char a[5][9]={"     "};
  int i,j;
  for (i=0;i<5;i++)
  /***********SPACE***********/
  for(j=i; 【?】;j++)
    a[i][j]='*';
  /***********SPACE***********/
  for(【?】;i<5;i++)
  {
    for(j=0;j<9;j++)
    /***********SPACE***********/
    printf("%c", 【?】 );
    /***********SPACE***********/
    【?】;
   }
 }
答案:
   1). j< i + 5 或  i + 5 >j 或 j<= i + 4 或  i + 4 >j
   2). i=0
   3). a[i][j]
   4). printf("\n")

第105题 (9.0分)  题号:23
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:求一个二维数组中每行的最大值和每行的和。

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

#include "stdlib.h"
main()
{
  int a[5][5],b[5],c[5],i,j,k,s=0;
  for(i=0;i<5;i++)
    for(j=0;j<5;j++)
      a[i][j]=random(40)+20;
  for(i=0;i<5;i++)
  { 
    /***********SPACE***********/
    k=a[i][0]; 【?】 ;
    for(j=0;j<5;j++)
    {
       /***********SPACE***********/
       if(k<a[i][j]) 【?】 ;
       s=s+a[i][j];
    }
    b[i]=k;
    /***********SPACE***********/
    【?】 ;
  }
  for(i=0;i<5;i++)
  {
    for(j=0;j<5;j++)
       /***********SPACE***********/
       printf("%5d", 【?】 );
    printf("%5d%5d",b[i],c[i]);
    printf("\n");
  }
}

答案:
   1). s=0
   2). k=a[i][j]
   3). c[i]=s
   4). a[i][j]

第106题 (9.0分)  题号:17
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘
      输入。

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

#include "stdio.h"
main()
{
  char str[80],ch;
  int i,k=0;
  /***********SPACE***********/
  gets(【?】);
  ch=getchar();
  /***********SPACE***********/
  for(i=0;【?】;i++)
    if(str[i]!=ch) 
    {
       /***********SPACE***********/
       【?】;
        k++;
    }
  /***********SPACE***********/
  【?】;
  puts(str);
 }
答案:
   1). str
   2). str[i]!='\0' 或 str[i]!=NULL 或 str[i]!=0 或 str[i]
   3). str[k]=str[i] 或 *(str+k)=*(str+i) 或 str[k]=*(str+i) 或 *(str+k)=str[i]
   4). str[k]='\0' 或 *(str+k)='\0' 或 str[k]=NULL 或 str[k]=0 或 *(str+k)=0 或 *(str+k)=NULL

第107题 (9.0分)  题号:31
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用冒泡法对数组a 进行由小到大的排序。

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

void fun(int a[],int n)
{
  int i,j,t;
  /***********SPACE***********/
  for (j=0; 【?】;j++)
    /***********SPACE***********/
    for (i=0; 【?】;i++)
      /***********SPACE***********/
      if(【?】)
      {
        t=a[i];
        a[i]=a[i+1];
        a[i+1]=t;
      }
}
main()
{
  int i,a[10]={3,7,5,1,2,8,6,4,10,9};
  /***********SPACE***********/
  【?】;
  for(i=0;i<10;i++)
    printf("%3d",a[i]);
}

答案:
   1). j<=n-1 或 n-1>=j 或 j<=-1+n 或 -1+n>=j 或 j<n 或 n>j 或 j<n-1
   2). i<n-j-1 或 n-j-1>i 或 i<n-1-j 或 n-1-j>i 或 i<=n-j-2 或 i<=n-2-j
   3). a[i]>a[ i + 1 ] 或 a[ i + 1 ]<a[i]
   4). fun(a,10)

第108题 (9.0分)  题号:489
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:h_sequence 是一组由0和1组成的数列,它定义如下:
      <h-seq> = 0
      <h-seq> = 1 <h-seq> <h-seq>
      利用函数检测输入的字符串是否是h_sequence数列

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

#include  <string.h>
#define   YES     1
#define   NO      0

int  h_sequence(char x[])
{
  /***********SPACE***********/
  int  length = 【?】;                                
  int  count;
  int  i;
  for (count = 1, i = 0; count != 0 && i < length; i++)
    switch (x[i]) 
    {
      case '0':count--;
               break;
      case '1':count++;
               break;
      default:return NO;
    }
  /***********SPACE***********/
  return 【?】&& i >= length;                        
}

#include  <stdio.h>

void  main(void)
{
  char  line[100];
  printf("\n\nInput a string of 0 and 1 --> ");
  gets(line);
  /***********SPACE***********/
  if (【?】 == YES)                                        
    printf("\n*** Input is a H sequence ***");
  else
   printf("\n*** Input is NOT a H sequence ***");
}
答案:
   1). strlen(x)
   2). count == 0
   3). h_sequence(line)

第109题 (9.0分)  题号:448
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式
      XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该
      算式。

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

main()
{
  int x,y,z;
  /***********SPACE***********/
  for(x=0;【?】;x++)
    for(y=0;y<10;y++)
    {
      if(y==x) continue;
      for(z=0;z<10;z++)
      {
      /***********SPACE***********/
      if(z==x【?】z==y) continue;
      /***********SPACE***********/
      if(1111*(x+y+z)==【?】+1110*x+z)
      {
        printf("x=%d,y=%d,z=%d\n",x,y,z);
        /***********SPACE***********/
        printf("%d+%d+%d=%d\n",1111*x,1111*y,1111*z,【?】);
        exit(0);
      }
    }
  }
}

答案:
   1). x<10 或 10>x
   2). ||
   3). 10000*y 或 y*10000
   4). 10000*y+1110*x+z 或 10000 * y + 1110 * x + z

第110题 (9.0分)  题号:471
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:给出一个正整数,找到一组连续的数,使之累加和等于给
      定的正整数。输出存在多少组这样连续的数,及每组的左
      右边界。
例如:15=1+2+3+4+5
      15=4+5+6
      15=7+8
      所以结果有3组值分别是1->5, 4->6, 7->8

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

#include  <stdio.h>
#include  <stdlib.h>

void main(void)
{
  long  left, right;
  long  sum;
  long  GIVEN;
  int   count = 0;
  char  line[100];
  printf("\nConsecutive sum to a fixed given number");
  printf("\n=======================================\n");
  printf("\nYour number (> 0) please ---> ");
  gets(line);
  GIVEN = atol(line);
  for (sum = 0, right = 1; sum < GIVEN; sum += right, right++)
    ;
  for (left = 1, right--; left <= GIVEN/2; )
    if (sum > GIVEN)
    {
      sum -= left;
      /***********SPACE***********/
      【?】;                                        
    }
    else 
    {
       if (sum == GIVEN) 
       {
         printf("\n%ld = sum from %ld to %ld", 
         GIVEN, left, right);
         /***********SPACE***********/
         【?】;                                
       }
    /***********SPACE***********/
    【?】;                                        
    sum += right;
  }
  if (count > 0)
    printf("\n\nThere are %d solutions in total.", count);
  else
    printf("\n\nSorry, there is NO solution at all.");
}
答案:
   1). left++ 或 left=left+1 或 ++left
   2). count++ 或 count=count++ 或 ++count 或 count=count+1
   3). right++ 或 right=right++ 或 ++right 或 right=right+1

第111题 (9.0分)  题号:413
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用circle画圆形。

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

#include "graphics.h"
main()
{
  int driver,mode,i;
  float j=1,k=1;
  driver=VGA;mode=VGAHI;
  /***********SPACE***********/
  initgraph(【?】,&mode,"");
  setbkcolor(YELLOW);
  /***********SPACE***********/
  for(i=0;i<=25;【?】)
  {
    setcolor(8);
    circle(310,250,k);
    /***********SPACE***********/
    k=【?】;
    j=j+0.3;
  }

答案:
   1). &driver
   2). k+j 或 j+k
   3). i++ 或 ++i 或 i=i+1

第112题 (9.0分)  题号:446
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:编程求某年第n天的日期。用数组表示月天数。

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

main()
{
  int y,m,f,n;
  int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  printf("y,n=");
  scanf("%d,%d",&y,&n);
  /***********SPACE***********/
  f=y%4==0&&y%100!=0【?】y%400==0;
  /***********SPACE***********/
  a[1]【?】f;
  if(n<1||n>365+f)
  {
    printf("error!\n");exit(0);
  }
  /***********SPACE***********/
  for(m=1;m【?】a[m-1];n-=a[m-1],m++);
    printf("y=%d,m=%d,d=%d\n",y,m,n);
}

答案:
   1). ||
   2). += 或 =a+
   3). >

第113题 (9.0分)  题号:438
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:求出二维数组中的最大元素值。

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

#include "stdio.h"
void main()
{
  int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};
  /***********SPACE***********/
  printf("max value is %d\n",【?】);
}

max_value(m,n,array)
/***********SPACE***********/
int m,n,【?】;
{
  int i,j,max;
  max=array[0][0];
  for(i=0;i<m;i++)
    for(j=0;j<n;j++)
      /***********SPACE***********/
      if(max<array[i][j])【?】;
  return(max);
}
答案:
   1). max_value(3,4,a)
   2). array[][4] 或 array[3][4]
   3). max=array[i][j]

第114题 (9.0分)  题号:12
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:产生并输出如下形式的方阵。
1 2 2 2 2 2 1
3 1 2 2 2 1 4
3 3 1 2 1 4 4
3 3 3 1 4 4 4
3 3 1 5 1 4 4
3 1 5 5 5 1 4
1 5 5 5 5 5 1

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

main()
{
 int a[7][7];
 int i,j;
 for (i=0;i<7;i++)
   for (j=0;j<7;j++)
     {
/***********SPACE***********/
      if (【?】) a[i][j]=1;
/***********SPACE***********/
      else if (i<j&&i+j<6) 【?】;
      else if (i>j&&i+j<6) a[i][j]=3;
/***********SPACE***********/
      else if (【?】) a[i][j]=4;
      else a[i][j]=5;
      }
   for (i=0;i<7;i++)
     {
     for (j=0;j<7;j++)
     printf("%4d",a[i][j]);
/***********SPACE***********/
    【?】;
     }
}

答案:
   1).  i == j || i + j == 6 
   2). a[i][j]=2
   3).  i<j && i + j>6  或  j>i && i + j>6  或  i<j && i + 6<j  或  j>i && i + 6<j 
   4). printf("\n")

第115题 (9.0分)  题号:24
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素
      数)因子的形式。
例如:当N=150时,可分解成1×2×3×5×5;
      当N=-150时,可分解为-1×2×3×5×5。
      下边程序能实现这种分解过程。当N=150,输出以下分解结
      果:N=  1*  2*   3*   5*   5

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

main()

  int n,i,j,r;
  scanf("%d",&n);
  if (n==0)
  { 
    printf ("data error \n");
    exit(0);
  }
  /***********SPACE***********/
  else if (【?】) 
    printf("n=1");
  else
  { 
    printf("n=-1");
    n=-n;
  }
  /***********SPACE***********/
  for(【?】;i<=n;i++)           
  {  
    /***********SPACE***********/
    【?】  ;                  
    while(r==0)
    { 
      printf("*%d",i);
      /***********SPACE***********/
      【?】 ;                  
      r=n%i;
    }
  }
  printf("\n");
}

答案:
   1). n>0 或 0<n
   2). i=2
   3). r=n%i
   4). n=n/i 或 n/=i

第116题 (9.0分)  题号:26
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:删除一个字符串中的所有数字字符。

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

#include "stdio.h"
void delnum(char *s)
{
  int i,j;
  /***********SPACE***********/
  for(i=0,j=0; 【?】'\0' ;i++)
  /***********SPACE***********/
  if(s[i]<'0'【?】 s[i]>'9')
  {
    /***********SPACE***********/
    【?】;
    j++;
  }
  s[j]='\0';
}
main ()
{
  char *item;
  printf("\n input a string:\n");
  gets(item);
  /***********SPACE***********/
  【?】;
  printf("\n%s",item);
}

答案:
   1). s[i]!= 或 *(s+i)!= 或 *(i+s)!=
   2). ||
   3). s[j]=s[i] 或 *(s+j)=*(s+i) 或 s[j]=*(s+i) 或 *(s+j)=s[i]
   4). delnum(item)

第117题 (9.0分)  题号:11
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:求100-999之间的水仙花数
说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
例如:153=1^3+5^3+3^3)。

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

int fun(int n)
{ int i,j,k,m;
  m=n;
  /***********SPACE***********/
 【?】;
  for(i=1;i<4;i++)
  { 
     /***********SPACE***********/
     【?】;
     m=(m-j)/10; 
     k=k+j*j*j; 
  }
  if(k==n) 
    /***********SPACE***********/
    【?】;
  else 
    return(0);}
main()
{  
  int i;
  for(i=100;i<1000;i++)
    /***********SPACE***********/
  if(【?】==1)
    printf("%d is ok!\n" ,i);
}

答案:
   1). k=0
   2). j=m%10 或 j=m-m/10*10 或 j=m-10*(m/10)
   3). return(1)
   4). fun(i)

第118题 (9.0分)  题号:424
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:输出结果为:

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

main()
{
  /***********SPACE***********/
  static char 【?】={'*','*','*','*','*'};
  int i,j,k;
  char space=' ';
  for(i=0;i<5;i++)
  {
    printf("\n");
    /***********SPACE***********/
    for(j=1;j<=3*i;j++)
      printf("%1c",【?】);
    /***********SPACE***********/
    for(k=0;k<【?】;k++)
      printf("%3c",a[k]);
  }
  printf("\n");;
}
答案:
   1). a[5] 或 a[]
   2). space 或 ' '
   3). 5 或 =4

第119题 (9.0分)  题号:460
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:有一整数数组x(正序排列),判断是否有数组元素x[i]=i
      的情况发生。

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

int  index_search(int x[], int n)
{
  int  first = 0;
  int  last  = n-1;
  int  middle, index;
  index = -1;
  while (first <= last) 
  {
    middle = (first + last) / 2;
    /***********SPACE***********/
    if (【?】) 
    {                               
      index = middle;
      break;
    }
    /***********SPACE***********/
    else if (【?】)                        
      last = middle - 1;
    else 
      first = middle + 1;
  }
  return index;
}

#include  <stdio.h>
void main(void)
{
  int  x[] = { -1, 0, 1, 3, 5, 7, 9, 10};
  int  n   = sizeof(x)/sizeof(int);
  int  answer, i;
  printf("\nIndex Search Program");
  printf("\n====================");
  printf("\n\nGiven Array :");
  for (i = 0; i < n; i++)
    printf("%5d", x[i]);
  /***********SPACE***********/
  【?】;                        
  if (answer >= 0)
    printf("\n\nYES, x[%d] = %d has been found.", answer, answer);
  else
    printf("\n\nNO, there is no element with x[i] = i");
}
答案:
   1). x[middle] == middle
   2). x[middle] > middle 或 middle<x[middle]
   3). answer = index_search(x, n)

第120题 (9.0分)  题号:429
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:从读入的整数数据中,统计大于零的整数个数和小于零的
      整数个数。用输入零来结束输入,程序中用变量i统计大于
      零的整数个数,用变量j统计小于零的整数个数。

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

#include <stdio.h>
main()
{
  int k,n,i,j;
  printf("Enter INT number,with 0 to end\n");
  i=j=0;
  scanf("%d",&n);
  while(n!=0)
 {
   /***********SPACE***********/
   if(n>0)i=【?】;
   /***********SPACE***********/
   if(n<0)j=【?】;
   /***********SPACE***********/
   scanf("%d",【?】);
 }
  printf("i=%4d\n",i,j);
}
答案:
   1). i + 1
   2). j + 1
   3). &n

第121题 (9.0分)  题号:394
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:用条件编译方法实现以下功能。输入一行电报文字,可以任
      选两种方式输出,一种为原文输出;另一种将字母变成下
      一个字母(如a变成b,C变成D,其他字符不变)输出。

-------------------------------------------------------*/
#define CHANGE
main()
{
  /***********SPACE***********/
  char str[80],【?】=str;
  int k;
  printf("Input string:");
  /***********SPACE***********/
  gets【?】;
  printf("Output string:");
  #ifdef CHANGE
    for(;*s!='\0';s++)
    {
      if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
      { 
        (*s)++;
        if(*s>'Z'&&*s<'Z'+2) 
        /***********SPACE***********/
          【?】;
        if(*s>'z')
        /***********SPACE***********/
          *s=【?】;
       }
     }
     printf("%s\n",str);
  #else
    printf("%s\n",str);
  #endif
}
答案:
   1). *s
   2). (str) 或 (s)
   3). *s='A'
   4). 'a'

第122题 (9.0分)  题号:6
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:以下程序是用选择法对10个整数按升序排序。

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

/***********SPACE***********/
【?】

main()
{
   int i,j,k,t,a[N];
   for(i=0;i<=N-1;i++)
   scanf("%d",&a[i]);
   for(i=0;i<N-1;i++)
   {
     /***********SPACE***********/
     【?】;
     /***********SPACE***********/
     for(j=i+1; 【?】;j++)
       if(a[j]<a[k]) k=j;
     /***********SPACE***********/
     if(【?】)
     {
       t=a[i];
       a[i]=a[k];
       a[k]=t;
     }
  }
  printf("output the sorted array:\n");
  for(i=0;i<=N-1;i++)
  printf("%5d",a[i]);
  printf("\n");
}
   
答案:
   1). #define N 10
   2). k=i
   3). j<N 或 N>j 或 j<=N-1 或 N-1>=j
   4).  k != i

第123题 (9.0分)  题号:92
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t
      所指的数组中。
例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。

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

#include  <conio.h>
#include  <stdio.h>
#include  <string.h>
void fun (char  *s, char  *t)
{
  int   i, d;
  /***********SPACE***********/
  d = 【?】;
  /***********SPACE***********/
  for (i = 0; i<d; 【?】)  
    t[i] = s[i];
  for (i = 0; i<d; i++)  
    /***********SPACE***********/
    t[【?】] = s[d-1-i];
  /***********SPACE***********/
  t[【?】] ='\0';
}
main()
{
  char  s[100], t[100];
  clrscr();
  printf("\nPlease enter string S:"); scanf("%s", s);
  fun(s, t);
  printf("\nThe result is: %s\n", t);
}

答案:
   1). strlen(s)
   2). i++ 或 i=i+1 或 i+=1 或 ++i
   3). d+i 或 i+d
   4). 2*d 或 d*2 或 i+d 或 d+i

第124题 (9.0分)  题号:422
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:文件操作。

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

# include <stdio.h>
# include <stdlib.h>

void main()
{
  /* 定义一个文件指针fp */
  /***********SPACE***********/
  【?】 *fp;
  char ch, filename[10];
  printf("Please input the name of file: ");
  scanf("%s", filename);  /* 输入字符串并赋给变量filename */
  /* 以读的使用方式打开文件filename */
  /***********SPACE***********/
  if((fp=fopen(filename, "【?】")) == NULL)
  {
    printf("Cannot open the file.\n");
    exit(0);  /* 正常跳出程序 */
  }
  /* 关闭文件 */
  /***********SPACE***********/
 【?】;
}

答案:
   1). FILE
   2). r
   3). fclose(fp)

第125题 (9.0分)  题号:15
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作
      为终止标记。

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

main()
{
  int x,i=0,j=0;
  float s1=0,s2=0,av1,av2;
  scanf("%d",&x);
  /***********SPACE***********/
  while(【?】)
  {
     if(x%2==0) {s1=s1+x;i++;}
     /***********SPACE***********/
     【?】
     {
        s2=s2+x;
        j++;
     }
     /***********SPACE***********/
     【?】;
   }
   if(i!=0) 
      av1=s1/i;
   else 
       av1=0;
   if(j!=0) 
     /***********SPACE***********/
     【?】 ;
   else 
     av2=0;
   printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);
}

答案:
   1). x != 0 或 x
   2). else 或 else  if(x%2==1) 或 else  if(x%2!=0) 或 if(x%2)
   3). scanf("%d",&x)
   4). av2=s2/j

第126题 (9.0分)  题号:398
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:打印出如下图案(菱形)

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

#include <stdio.h>
main()
{
  int i,j,k;
  /***********SPACE***********/
  for(i=0;【?】;i++) 
  {
    for(j=0;j<=4-i;j++)
      printf(" ");
    /***********SPACE***********/
    for(k=1;k<=【?】;k++)
      printf("*");
    printf("\n");
  }
  /***********SPACE***********/
  for(【?】;j<3;j++)
  {
    for(k=0;k<j+3;k++)
      printf(" ");
    for(k=0;k<5-2*j;k++)
      printf("*");
     printf("\n");
  }
}

答案:
   1). i<=3 或 i<4 或 3>=i 或 4>i
   2). 2*i+1 或 i*2+1 或 1+2*i 或 1+i*2
   3). j=0

第127题 (9.0分)  题号:447
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:已知一个数列,它的头两项分别是0和1,从第三项开始以
      后的每项都是其前两项之和。编程打印此数,直到某项的
      值超过200为止。

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

main()
{
  int i,f1=0,f2=1;
  /***********SPACE***********/
  for(【?】;;i++)
  {
    printf("5%d",f1);
    /***********SPACE***********/
    if(f1>【?】) break;
    printf("5%d",f2);
    if(f2>200) break;
    if(i%2==0) printf("\n");
    f1+=f2;
    /***********SPACE***********/
    f2+=【?】;
  }
  printf("\n");
}

答案:
   1). i=1
   2). 200
   3). f1

第128题 (9.0分)  题号:461
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:从键盘输入一个字符串,将小写字母全部转换成大写字母,
      然后输出到一个磁盘文件“test”中保存。输入的字符串
      以!结束。

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

#include "stdio.h"

main()
{
  FILE *fp;
  char str[100],filename[10];
  int i=0;
  if((fp=fopen("test","w"))==NULL)
  {
    printf("cannot open the file\n");
    exit(0);
  }
  printf("please input a string:\n");
  gets(str);
  /***********SPACE***********/
  while(【?】)                                
  {
    if(str[i]>='a'&&str[i]<='z')
    /***********SPACE***********/
    【?】;                                
    fputc(str[i],fp);
    i++;
  }
  fclose(fp);
  /***********SPACE***********/
  fp=fopen("test",【?】);                        
  fgets(str,strlen(str)+1,fp);
  printf("%s\n",str);
  fclose(fp);
}
答案:
   1). str[i] != '!'
   2). str[i]=str[i]-32 或 str[i]= str[i] -32
   3). "r" 或 "wr" 或 "wr+"

第129题 (9.0分)  题号:625
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:有一整数数组x(正序排列),判断是否有数组元素x[i]=i
      的情况发生。

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

int  index_search(int x[], int n)
{
  int  first = 0;
  int  last  = n-1;
  int  middle, index;
  index = -1;
  while (first <= last) 
  {
    middle = (first + last) / 2;
    /***********SPACE***********/
    if (【?】) 
    {                               
      index = middle;
      break;
    }
    /***********SPACE***********/
    else if (【?】)                        
      last = middle - 1;
    else 
      first = middle + 1;
  }
  return index;
}

#include  <stdio.h>
void main(void)
{
  int  x[] = { -1, 0, 1, 3, 5, 7, 9, 10};
  int  n   = sizeof(x)/sizeof(int);
  int  answer, i;
  printf("\nIndex Search Program");
  printf("\n====================");
  printf("\n\nGiven Array :");
  for (i = 0; i < n; i++)
    printf("%5d", x[i]);
    /***********SPACE***********/
    【?】;                        
    if (answer >= 0)
      printf("\n\nYES, x[%d] = %d has been found.", answer, answer);
    else
      printf("\n\nNO, there is no element with x[i] = i");
}
答案:
   1). x[middle] == middle
   2). x[middle] > middle 或 middle<x[middle]
   3). answer = index_search(x, n)

第130题 (9.0分)  题号:412
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

功能:写一个函数,求一个字符串的长度,在main函数中输入字
      符串,并输出其长度。

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

#include <stdio.h>
main()
{
  int length(char *p);
  int len;
  char str[20];
  printf("please input a string:\n");
  scanf("%s",str);
  /***********SPACE***********/
  len=length(【?】);
  printf("the string has %d characters.",len);
}

/***********SPACE***********/
【?】(p)
char *p;
{
  int n;
  n=0;
  while(*p!='\0')
  {
    /***********SPACE***********/
    【?】;
    /***********SPACE***********/
    【?】;
  }
  return n;
}
答案:
   1). str
   2). length 或 int length
   3). n++ 或 ++n 或 n=n+1 或 n+=1
   4). p++ 或 ++p 或 p=p+1 或 p+=1

C语言考试题库之填空题相关推荐

  1. c语言判断非法字符题目,C语言考试题库之判断题-c语言考试判断题

    <C语言考试题库之判断题-c语言考试判断题>由会员分享,可在线阅读,更多相关<C语言考试题库之判断题-c语言考试判断题(7页珍藏版)>请在人人文库网上搜索. 1.三.判断题(1 ...

  2. c语言程序填空题库,C语言程序设计题考试题库选择填空题完整答案精美篇

    ※试题说明: 选择题共15道,2分/道:数据类型1个.选择结构2个.循环结构2个.数组3个.函数3个.预处理1个.指针2个.结构体1个.基本操作题.程序改错题.程序填空题.程序设计题.考试时间90分钟 ...

  3. 雨课堂c语言考试题库,考试查题神器,大学章节搜题,超星章节搜题,雨课堂期末查题app...

    考试查题神器,大学章节搜题,超星章节搜题,雨课堂期末查题app 更多相关问题 目前我国开征的税种有().A.增值税B.营业税C.所得税D.遗产税 以下属于高级语言的有(). (A) 汇编语言 (B) ...

  4. 陕科大c语言题库,C语言考试题库

    <C语言考试题库>由会员分享,可在线阅读,更多相关<C语言考试题库(30页珍藏版)>请在人人文库网上搜索. 1.1. 编程题请编写函数fun,其功能是:将两个两位数的正整数a. ...

  5. 东北大学C语言期末考试题库--期末原题试题(6)

    东北大学C语言期末考试题库–期末原题试题(6)   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,微信公众号为[亓 ...

  6. c语言二级考试真题新疆,新疆自治区计算机二级C语言考试题库.doc

    新疆自治区计算机二级C语言考试题库.doc 一单选题1.已知 int a,b;下列 switch语句中正确的是 b . A. switchacase a a;break;case b b;break; ...

  7. 下面合法的C语言字符常量是( ),C语言考试题库及答案

    <C语言考试题库及答案>由会员分享,可在线阅读,更多相关<C语言考试题库及答案(52页珍藏版)>请在人人文库网上搜索. 1.C语言考试题库及答案C语言理论上机考试选择题部分(共 ...

  8. c语言第一章考试题及答案,C语言考试题库及答案整理版.doc

    C语言考试题库及答案整理版.doc C语言理论上机考试选择题部分(共200题) 1.下面程序的输出是___D______ #include void main() { int k=11; printf ...

  9. kij是不是c语言语句,C语言考试题库及答案分析(总35页).doc

    C语言考试题库及答案分析(总35页).doc C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)1.下面程序的输出是_Dincludestdio.hvoid main int k11; ...

  10. 北师大c语言2019在线作业,2019最新C语言考试题库及答案

    <2019最新C语言考试题库及答案>由会员分享,可在线阅读,更多相关<2019最新C语言考试题库及答案(100页珍藏版)>请在人人文库网上搜索. 1.2019最新C语言考试题库 ...

最新文章

  1. 瘦了!光荣!都是忙工作忙的!
  2. 算法---找到数组中第二大的数
  3. JavaScript标准参考教材(alpha)--笔记
  4. Oracle 原理: 初步认识程序包
  5. Shader学习笔记_函数探索_tex2D(sampler2D tex, float2 s)
  6. 瓶子个数计数halcon
  7. HDU-4145 A Simple Problem 简单数论
  8. Sass学习笔记 -- 混合器
  9. 开源点云数据处理 开源_开源云–充满希望的未来
  10. C、C++编程学习资料收藏
  11. 世纪佳缘 助手 免 邮票 群发 照片下载 信息检索等(完全功能版)
  12. win10 android叹号,win10系统设备管理器驱动显示黄色感叹号的详细技巧
  13. 安卓手机m3u8转为mp4格式100%有效的方法
  14. 【机器学习实战】利用KNN和其他分类器对手写数字进行识别
  15. 软件外包的五点管理技巧
  16. Python3《机器学习实战》学习笔记(三):决策树实战篇之为自己配个隐形眼镜
  17. Python unittest使用
  18. 固态硬盘多大合适 php,固态硬盘温度一般多少度
  19. 将form改为ajax提交
  20. [测试] 调查问卷相关测试

热门文章

  1. 网络安全-使用PGP实现电子邮件安全
  2. 【公开课报名】腾讯产品经理教你如何用好腾讯会议
  3. 苹果6显示连接id服务器出错,科技知识:如果连接appleid时发生服务器出错应该如何处理...
  4. iphone手机如何修改Apple ID密码
  5. 【全自动网盘扩容软件使用教程】百度网盘自助无限扩容+自助无限修复软件使用步骤说明
  6. android手机闹钟程序,Android手机闹钟用法实例
  7. 创建博客园 博客阅读器(使用 JavaScript 和 HTML 的 Metro 风格应用)源码
  8. 紫微斗数排盘JS算法 源码 和解析
  9. Linux如何查看和设置DNS服务器地址
  10. 树莓派实现实时视频监控