C语言 求救 二.实验内容: ⑴ 编写自定义子函数实现:利用指针实现求一维数组中全部元素的平均值;并在

2024年12月04日 23:08
有2个网友回答
网友(1):

1.

#include "stdio.h"

double getAve(int *a,int n)

{

   int *p;

   int sum=0;

   for(p=a;p

       sum+=*p;

   return sum*1.0/n;

}

int main()

{

      int a[10]={1,2,3,4,5,6,7,8,9,10};

      printf("数组元素的平均值为%lf\n",getAve(a,10));

 

}

2.

#include "stdio.h"

//del和delchar两个函数功能一样。

void del(char in[],char ch)

{

      int i;

      int j=0;

      for(i=0;in[i]!='\0';i++)

          if(in[i]!=ch)

          {

               in[j]=in[i];

               j++;

           }

      in[j]='\0';

}

void delChar(char *in,char ch)

{

     char *p=in;

     int j=0;

     for(;*p!='\0';p++)

         if(*p!=ch)

           *(in+j++)=*p;

     *(in+j)='\0';

}

int main()

{

       char str[100]={0};

       char ch;

       printf("请输入一个字符串:");

       gets(str);

       printf("请输入一个字符:");

       scanf("%c",&ch);

       delChar(str,ch);

       printf("字符串删除字符后输出:");

       puts(str);

}

网友(2):

第一个问题:
#include

double aver( double a[], int size )
{
int i;
double sum = 0.0;
for ( i = 0; i < size; i++ )
sum += a[i];
return sum / size;
}

int main()
{
double num[10];
int i;
for ( i = 0; i < 10; i++ )
scanf("%lf", &a[i]);
printf("%lf\n", aver( num, 10 ));

return 0;
}

第二个问题:
#include

void delete( char ch, char a[], int size )
{
int i, j;
for ( i = 0; i < size; i++ )
if ( a[i] == ch )
{
for ( j = i; j < size - 1; j++ )
a[j] = a[j+1];
a[j] = '\0';
i--;
}
}

int main()
{
char a[] = "abcabcaaabc";
char *ptr;
ptr = a;
delete( 'a', a, 11 );
// delete( 'a', ptr, 11 );
printf("%s\n", a);

return 0;
}