当前位置: > 江西广电考生须知 > 成教复习 >

成考专业课期末考试(C++程序设计三)

四、写出下列每个函数的功能
1. int SA(int a, int b) {
           if(a>b) return 1;
           else if(a==b) return 0;
                else return -1;
       }
函数功能:
 
比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a<b则返回-1。
2. bool WB(int a[], int n, int x) {
          for(int i=0;i<n;i++)
              if(a[i]==x) return true;
          return false;
       }
函数功能:
 
从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。
3. # inelude<iostream.h>
    template<class Type>
    Type WD(Type a[], int n) {
          Type m= a[0] ;
          for (int i=l;i<n;i++)
                if (a[i]>m) m=a[i];
          return m;
     }
函数的功能是:
模板函数,从数组a的n个元素中求出最大值并返回。
 
2. int LK(int a[], int n) {
          float s=0;   int i;
           for (i=0 ;i<n; i++)
                s+= a[i];
           s/=n;
           int m=0;
          {for (i=0;i<n;i++)
                if (a[i]<s) m++;
              return m;
      }
函数的功能是:求出数组a的n个元素中小于平均值的元素个数并返回。
 
3. int WD(int a[], int n) {
           int m=a[0];
           for(int i=1;i<n;i++)
               if(a[i]>m) m=a[i];
           return m;
       }
函数功能:从数组a的n个元素中求出最大值并返回。
 
五、编程题
1.完成下面的函数,对有n个元素的数组a,使数组元素按逆序排列。
 void inverse(int *a, int n)
 { }
解答:
void inverse(int *a, int n)
      {  int i,*p;
         p=new int[n];
         for(i=0;i<=n-1;i++)
p[i]=a[i];
    for(i=0;i<=n-1;i++)
      a[i]=p[n-i-1];
    delete []p;
  }
2.假定一个函数声明为“double fun();”,要求从键盘上输入一个4行4列的实数矩阵到一个二维数组a[4][4]中,然后求出并返回主对角线上的元素值之和。
 
解答:double fun()
       {
           double a[4][4];
           int i,j;
           cout<<"输入一个4*4的数值矩阵:";
           for(i=0;i<4;i++)
               for(j=0;j<4;j++) cin>>a[i][j];
           double s=0;
           for(i=0;i<4;i++) s+=a[i][i];
           return s;
       }
 
1.一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小数和其下标,并在主函数中打印最小数和下标。
 
解答:
#include <iostream.h>
void main()
{  int array[]={34,91,83,56,29,93,56,12,88,72};
    int size=sizeof(array)/sizeof(*array);
       int index = 0;
       for(int i=1; i<n; i++)
          if(a[index]>a[i])
             index = i;
       cout <<"最小数: " <<array[index] <<endl <<"相应的下标: " << index <<endl;
}
2.设计一程序,它输入一个整数,判断它是否是整数序列32,52,31,86,3,44,11,7,55,63中的一个;若是,显示该整数在序列中的序号(注:最小序号是1),否则显示0。
解答:
#include<iostream.h>
    void main( )
    {   
           int data[]={32,52,31,86,3,44,11,7,55,63};   
              #define SIZE (sizeof(data)/sizeof(data[0]))
              int m;     
              cout<<"请输入要查找的数:"
              cin>>m;
              int i;       
              for (i=0;i<SIZE;i++) if (data[i]==m) break;        
              cout<<"序号:"<<(i<SIZE?i+1:0);             
TAG标签: 电大成考 考试复习 程序设计
------分隔线----------------------------
新生报名指南
江西电大成考咨询电话: 0791-87685393
江西电大成考咨询老师: 江西电大成考 江西电大成考

QQ咨询:

在线客服 在线咨询

在线客服 在线咨询

王老师:
13177772548

办公座机:
0791-87685393

微信二维码:

江西成人高考报名中心