在线急等.C语言问题,大家帮我看看我哪错了`

2024-12-26 16:04:26
推荐回答(5个)
回答1:

float a[],b[][];
不支持动态数组 数组的元素个数一定要是确定的 可以在定义的时候这样 float a[]={1}; 则自动识别为a[1],但如不赋值 不可不给定数组的元素个数!如 float a[n];
scanf("%d",&n)万万不可!

回答2:

传递的实参有两个:一是数组的地址,也就是数组里第一个元素的地址;n对应的实参应该是数组的维数。

回答3:

#include
float max(float *p, int n)
float min(float *p, int n)
float sum(float *p, int n)
void main()
{
int x,y,z,m,j;
float a[],b[][];
printf("请输入一维数组的元素个数:");
scanf("%d",&x);
for(j=0;jscanf("%lf",a[j]);
printf("该一维数组的最小值为%f,最大值为%f,总和为%f",min(a,x),max(a,x),sum(a,x));
printf("请输入二维数组的行数与列数:");
scanf("%d,%d",&y,&z);
m=y*z;
for(j=0;jscanf("%lf",b[); <--------- &b[j]
printf("...%f,%f,%f",min(b,x),max(b,bd1),sum(b,bd1));
}

float max(float *p, int n)
{
int i;
float reval;
for(i=1,reval=*p;iif(reval>*(p+i)) reval=*(p+i);
return reval;
}
float min(float *p, int n)
{
int i;
float reval;
for(i=1,reval=*p;iif(reval<*(p+i))
reval=*(p+i);
return reval;
}
float sum(float *p, int n)
{
int i;
float reval;
for(i=1,reval=*p;ireval+=*(p+i);
return reval;
}
上面的输出语句错了!我给你标错来了!

回答4:

float a[],b[][]; 绝对有问题
c语言不支持动态数组 数组的元素个数一定要是确定的
#include /已经调试过/
float max(float *p, int n) ;
float min(float *p, int n) ;
float sum(float *p, int n) ;
void main()
{
int m,j,i;
float a[5],b[5][5];
for(j=0;j<5;j++)
scanf("%lf",a[j]);
printf("该一维数组的最小值为%f,最大值为%f,总和为%f",min(a,5),max(a,5),sum(a,5));
for(j=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%lf",b[i][j]);
for(i=1;i<5;i++)
printf("%f,%f,%f",min(b[i],5),max(b[i],5),sum(b[i],5));
}
float max(float *p, int n)
{
int i;
float reval;
for(i=1,reval=*p;iif(reval<*(p+i)) reval=*(p+i);
return reval;
}
float min(float *p, int n)
{
int i;
float reval;
for(i=1,reval=*p;iif(reval>*(p+i))
reval=*(p+i);
return reval;
}
float sum(float *p, int n)
{
int i;
float reval;
for(i=1,reval=*p;ireval+=*(p+i);
return reval;
}

回答5:

楼上说的不错
flat a[],b[][];
你也能想出来
要能这、样就好了
哥们 给你该了下 能按照你说的那样做了
你可以修改这个#define N 100 想多大要多大
但是就是 太浪费 你自己 约莫的办
你自己看看吧 你的错太多了 修改如下
#include
#define N 100
float max(float *p, int n);
float min(float *p, int n);
float sum(float *p, int n);
void main()
{
int x,y,z,m,j;
float a[N],b[N][N];
float *p=b;
printf("请输入一维数组的元素个数:");
scanf("%d",&x);
for(j=0;jscanf("%f",&a[j]);
printf("该一维数组的最小值为%f,最大值为%f,总和为%f\n",min(a,x),max(a,x),sum(a,x));
printf("请输入二维数组的行数与列数:");
scanf("%d,%d",&y,&z);
m=y*z;
for(j=0;jscanf("%f",p++);
printf("该二维数组的最小值为%f,最大值为%f,总和为%f\n",min(b,m),max(b,m),sum(b,m));
}

float max(float *p, int n)
{
int i;
float reval=0;
for(i=1,reval=*p;iif(reval>*(p+i)) reval=*(p+i);
return reval;
}
float min(float *p, int n)
{
int i;
float reval=0;
for(i=1,reval=*p;iif(reval<*(p+i))
reval=*(p+i);
return reval;
}
float sum(float *p, int n)
{
int i;
float reval;
for(i=1,reval=*p;ireval+=*(p+i);
return reval;
}