内容发布更新时间 : 2025/11/4 17:24:23星期一 下面是文章的全部内容请认真阅读。
    for (i=0;i     cout<<\}  方法三 (数组方式,指针变量的数组形式,用 p[i]访问元素) #include  {   float a[N],sum,*p=a;     int i;      cout<<\    for (i=0;i     for (i=0;i     cout<<\}  方法四 (指针方式,数组名+位移,用 *(a+i)访问元素) #include      cout<<\    for (i=0;i     for (i=0;i     cout<<\}  程序运行结果:  Input data: 10 20 30 40 50 60 70 80 90 100 average=55   (2)  #include  {  float a[3][3],sum=0;    int i,j;     cout<<\   for (i=0;i<3;i++)            for (j=0;j<3;j++)                   cin>>*(a[i]+j);   //用行首地址+位移,即a[i]+j    for (i=0;i<3;i++)            for (j=0;j<3;j++)          if (i==j||i+j==2)                   sum+=*(a[i]+j);    cout<<\}  程序运行结果: Input Data: 10 25 90 80 70 35 65 40 55 sum=290   (3)  # include  int str_cmp(char *p1,char *p2) {  while(*p1==*p2)        {p1++;      p2++;        }     if (*p1>*p2)            return 1;    else if (*p1==*p2)           return 0;    else         return -1; }  void str_cat(char *p1,char *p2)    //将p2所指的字符串连接到p1所指的字符串串末尾 {  while(*p1++);      p1--;  while(*p2!=0)          *p1++=*p2++;    *p1=0; }  int str_len(char *p) {  int length=0;    while(*p!=0)    {  p++;        length++;    }     return length; }  void main(void)  {  char s1[20],s2[40];     cout<<\   cin>>s1;     cout<<\   cin>>s2;     if (str_cmp(s1,s2)==1)            cout<<\   else if (str_cmp(s1,s2)== -1)            cout<<\   else         cout<<\   str_cat(s1,s2);     cout<<\    cout<<\}  程序运行结果: Input String1: Visual C++ Input String2: Visual Basic String1>String2  String1+String2 =Visual C++ Visual Basic  String1 Length=23   (4)  #include  void sort1( int a[ ],int n)                      {  int i,j,k,temp;     for (i=0;i           for (j=i+1;j        { temp=a[i]; a[i]=a[k]; a[k]=temp; }    } }  void sort2( int *p,int n)                       {  int i,j,k,temp;     for (i=0;i      for (j=i+1;j        if  (*(p+k)<*(p+j)) k=j;  //形参为数组名   //形参为指针                if (k!=i)          { temp=*(p+i); *(p+i)=*(p+k); *(p+k)=temp; }    } }  void sort3( int a[ ],int n)                          //形参为数组名 {  int i,j,k,temp;     for (i=0;i           for (j=i+1;j        { temp=*(a+i); *(a+i)=*(a+k); *(a+k)=temp; }    } }  void sort4( int *p,int n)                             // 形参为指针 {  int i,j,k,temp;     for (i=0;i      for (j=i+1;j        { temp=p[i]; p[i]=p[k]; p[k]=temp; }    } }  void main( void)  {  int a1[10]={1,3,2,5,4,6,7,8,9,10},a2[10],a3[10],a4[10],*pi,i;    cout<<\     for (i=0;i<10;i++)    {  cin>>a1[i];        a2[i]=a3[i]=a4[i]=a1[i];    }     sort1(a1,10);                      //实参为数组名,形参为数组     sort2(a2,10);                          //实参为数组名,形参为指针变量    pi=a3;     sort3(pi,10) ;                      //实参为指针变量,形参为数组    pi=a4;     sort4(pi,10) ;                      //实参为指针变量,形参指针变量    cout<<\    for (i=0;i<10;i++) cout<    for (i=0;i<10;i++) cout<    for (i=0;i<10;i++) cout<    for (i=0;i<10;i++) cout< 程序运行结果: input 10 number:  10 25 90 80 70 35 65 40 55 5  a1[0~9]={  90  80  70  65  55  40  35  25  10   5} a2[0~9]={  90  80  70  65  55  40  35  25  10   5} a3[0~9]={  90  80  70  65  55  40  35  25  10   5} a4[0~9]={  90  80  70  65  55  40  35  25  10   5}      实验八  1.实验目的  (1)初步学会指针数组的定义与使用方法。  (2)了解指向一维数组的指针变量的概念,能用指向一维数组的指针变量按行处理二维数组的问题。  (3)理解返回指针值函数的概念、定义格式,学会用返回指针值函数处理字符串问题。 (4)理解函数指针与函数指针变量的概念,学会用函数指针变量处理不同函数数学计算问题。  2.实验要求  (1)编写实验程序  (2)在VC++运行环境中,输入源程序; (3)编译运行源程序;  (4)输入测试数据进行程序测试; (5)写出实验输入数据与运行结果。 3.实验内容  (1)定义一个二维字符数组s[3][80]及指针数组p[3],用cin.getline(s[i],80)  输入3个字符串到二维数组3行中,然后用指针数组p对字符串进行降序排列(要求用擂台法),最后用指针数组p输出排序后的结果,用字符数组s输出排序前的三个字符串。 实验数据:\,\,\ (2)输入一个二维数组a[3][3],设计一个函数,用指向一维数组的指针变量和二维数组的行数作为函数的参数,求出平均值、最大值和最小值,并输出。 实验数据:10,25,90,80,70,35,65,40,55  (3)设计程序,用函数指针变量完成两个操作数的加、减、乘、除、取余运算。 实验数据:10 + 20           10 -  5           10 *  15           10  /  2           10  %  3   (4)设计一个用梯形法求定积分的通用函数,被积函数的指针、积分的上限、积分的下限