C语言编程题,若函数形参为一维数组作函数参数编写函数,统计某一维数组中非0元素的个数?

作者&投稿:幸姿 (若有异议请与网页底部的电邮联系)
c语言编程:用数组名作函数参数,编写一个对一维数组求平均值的函数,并在主函数中调用它~

#include
#include
#include


float b(float arr[],int n); //<<<<少了函数声明
void main()
{
float a[50];
int i,n=0;
for(i=0;getchar()!='
';i++)
{
scanf("%f",&a[i]);
n++;
}
printf("平均值是:%f",b(a,n) ); //<<<<b这个函数传的是数组的首地址
}
float b(float arr[],int n)
{
float sum=0,c;
int i;
if(n==0)
return(0);
for(i=0;i<n;i++)
{
sum+=arr[i];
}
c=sum/n;
return(c);
}

有数组越界和调用错误,修改如下:
#includeint main(){void han(int a[10]);int b[10];int i;for(i=0;ia[i-1]&&a[i]>a[i+1])count++;}printf("%d",count);}

#include <stdio.h>

int func(int a[],int n)

{

    int i,cnt;

    for(cnt=0,i=0;i<n;++i)

        if(a[i])

            cnt++;

    return cnt;

}

int main()

{

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

    printf("%d
",func(a,10));

    return 0;

}



#include<stdio.h>
#define N 10
int f(int *a,int n) { int r=0,i; for ( i=0;i<n;i++ ) if ( a[i] ) r++; return r; }
void main() { int a[N],i,n;
for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
n=f(a,N); printf("%d\n",n);
}

C语言中,函数形参为指针,调用时的实参为立即数,应该怎么转化类型?_百度...
答:立即数不能转换成指针,因为它不在内存中。(int*)2表示从地址0x02开始的int型的地址空间。如果你的函数形参是指针而实参却需要传递立即数,说明这个函数编的是有问题的。如果你一定要传递,可以用一个中间变量存放立即数,然后传递该变量的地址。

徐师大c语言期末考试11机
答:如果此函数未能成功地执行,则返回值为0。 本题中要求分配三个double型动态内存单元,所以size处应当为3*sizeof(double)。知识点:知识点/指针/各类型的指针及指针变量,通过指针引用各类型数据4、以下程序运行后的输出结果是___。main(){ int a,b,c; a=25; b=025; c=0x25; printf("%d %d %d\n",a,b...

C语言中的函数形参为void是什么意思
答:c语言中的void 基本上就是两个意思:无,没有 任意类型 这两个意思,与void出现的代码位置和修饰变量相关:函数返回值位置,如:void func(int i) ; //表示func()函数没有返回值,void不可省 函数参数位置,如:void func( void ) ; //表示func()函数即没有返回值,也没有参数。这里...

十万火急,关于函数中形参为数组的问题
答:如果你的函数参数为(int *, int)时,当你调用create(a,len)时,系统会将数组a的起始地址的值(注:此时此值为NULL,不过此值为何并无影响,下面解释)压入参数栈。之后程序跳入create函数开始执行。此时,系统创建了一个int *类型的临时变量,我们不妨就称其为ap。然后,系统从参数栈中找到压入的...

c语言编程,编写一个函数,根据形参x和y的关系,返回不同的值
答:代码如下:include <stdio.h>#include <stdlib.h>int func(int x, int y){if (x > y) {return 1;}else if (x < y) {return -1;}else {return 0;}}int main(){int x, y, ret;printf("请输入x,y的值:");scanf("%d%d", &x, &y);ret = func(x, y);printf("%d\n",...

c语言中函数形参为空指针,调用时可以不用带实参吗
答:不可以.如果形参为void *型,那调用的时候也是要实参的.如果不想用实参, 只能定义成void型.或者定义成可变参数(...)

c语言函数的形参与实参的问题?
答:char **是char *的指针,指针是由数组退化来的,所以一般来说,它原来是一个char *的数组,即 char *ps[m]。数组的数组(或数组的指针)和指针的数组(或指针的指针),当然是不同的两个类型。至于如何修改,需要你明确你的函数要处理数组的数组,还是指针的数组,再根据情况修改。如果是数组的...

急求一个c语言定义函数的程序,有一个参数但无返回值,实现输出一行n
答:在主函数中,先定义一个变量,然后输入一个值,在a()这个函数中输出。当程序运行a(num);这一步时,把num的值赋值给num_back,在运行程序过程中,把实际参数的值传给形式参数,这就是函数参数的传递。形参和实参可能不只一个,如果多于一个时,函数声明、调用、定义的形式都要一一对应,不仅个数要...

C语言中的函数,形参为结构体,要怎样声明
答:struct a{};void part_1(struct a &dir){}

c语言 编写一个函数求x²+2x+1的值x作为函数的形参,主函数中进行输入...
答:include <stdio.h>float func (float x){ return (x*x + 2*x + 1);}int main(){ float x; scanf("%f",&x); printf("ret = %.2f\n", func(x)); return 0;}