……………… … … … … … … … … … 线 … … …号…学… … … … … …  … 订 … … …名…姓… … … … … … … 装 … … …级…班……………………………中 原 工 学 院 二、程序填空:根据题意,将程序补充完整。(每个空2分,共36分)  2013 ~2014 学年 第 1 学期 重修标识 1、对任意输入的3个数a,b,c,按从大到小顺序输出。    #include  软件学院13级软件工程  专业 C程序设计 课程期末试卷 A卷 B卷    void main()     {  int a,b,c;,temp; 题号 一 二 三 四 五 六 七 八 九 十 总分 printf(\、b、c: \scanf(                          );             if(a  ……………… … … … … … … … … … 线 … … …号…学… … … … … …  … 订 … … …名…姓… … … … … … … 装 … … …级…班……………………………  4、以下函数的功能是:用折半查找法在已排序数组中查找与x相等的值,如果查找成功返回三、阅读程序,写出程序的输出结果(前3题每小题4分,后两题每题5分,共22分) 相等值的下标,查找失败返回-1. 1. int BinSearch(long num[], long x, int n)  #include 运行时输入60 {  int main()  int  low, high, mid; { 运行结果为:  low = 0;                     /* 区间左端点置为0 */  int n;  high = n - 1;               /* 区间右端点置为n-1 */  printf(\ while (              )         scanf(\ {  if(n%3==0 && n%5==0)   mid = (high + low) / 2;/* 取数据区间的中点 */   printf(\  if (x > num[mid])     else   {   printf(\   low =            ;        return 0;   else  if (x < num[mid])   }   {     high =            ;   2.   else   #include   { void Print(int n);    return          ;     void  main() 运行时输入5   } {   }  int n; 运行结果为:  return(-1);                   printf(\请输入行数n=:\}  scanf(\5、以下程序的功能是:实现两个整数的互换。  Print(n); #include   } void  Swap(int *x, int *y); void Print(int n) void main() { {  int i,j;  int  a, b;  for(i=1;i<=n;i++)  printf(\ {  scanf(\  for(j=1;j<=2*i-1;j++)  printf(\  {  Swap(         );                                     printf(\ printf(\  } }   printf(\void  Swap(                     )                  } { int  temp; }                ;                         *x = *y;               *y = temp;             } 本试卷共 4 页,此页为 A 卷第 2 页 
  ……………… … … … … … … … … … 线 … … …号…学… … … … … …  … 订 … … …名…姓… … … … … … … 装 … … …级…班……………………………3. 5. #include #include void main() 运行结果为: #define N 40 输入:12  78  56  98  65  42  -1 { int  Read(int a[]);   int f1=1,f2=1,i; void Swap(int a[],int n); 运行结果:  printf(\void Print(int a[],int n);  for(i=2;i<=5;i++) void main()  { { int a[N],n;   f1=f2+f1;  n=Read(a);   f2=f1+f2;  Print(a,n);         printf(\ Swap(a,n);  }  Print(a,n); } }  int  Read(int a[])  { 4.比较以下两个程序的功能,用文字描述他们的相同点和不同点  int i=-1; 第一个函数:  do unsigned int MyStrlen_1(char *p) 两个函数相同点:  { i++;  {    scanf(\  unsigned int len;   }while(a[i]>0);   for(len=0;*p!='\\0';p++)   return i;   {  }    len++;  void Swap(int a[],int n)   }  {   return len;   int maxpos,minpos,i,temp;  }       maxpos=0;minpos=0; 第二个函数: 不同点:  for(i=1;ia[maxpos])   char *p=s;    maxpos=i;   while (*p!='\\0')   else if(a[i]