不知道哪里错了!!

hasan198703 2007-04-25 05:44:08
#include"stdio.h"
float dx(float arry[],int n);
float max=0,min=0;
void main()
{int i;
float score[10];
printf("please enter score:\n");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
max=dx(score,10);
min=dx(score,10);
printf("MAX=%f,MIN=%f",max,min);
}

float dx(float arry[],int n)
{ int i;
max=min=arry[0];
for(i=0;i<n;i++)
{
if(arry[i]>max)
max=arry[i];
if(arry[i]<min)
min=arry[i];
}

}
输入数组 输出最大 最小
...全文
299 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hasan198703 2007-05-01
  • 打赏
  • 举报
回复
能编译 但是实现不了要得到的功能!!
mymtom 2007-04-26
  • 打赏
  • 举报
回复
怎么会运行不了呢,VC++6没有问题的!
nickymaxiao 2007-04-26
  • 打赏
  • 举报
回复
#include"stdio.h"
float dx(float arry[],int n,int MaxOrMin);
float max=0,min=0;
void main()
{int i;
float score[10];
printf("please enter score:\n");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
max=dx(score,10,0);
min=dx(score,10,1);
printf("MAX=%f,MIN=%f",max,min);
}

float dx(float arry[],int n, int MaxOrMin)
{ int i;
max=min=arry[0];
for(i=0;i<n;i++)
{
if(arry[i]>max)
max=arry[i];
if(arry[i]<min)
min=arry[i];
}
return (MaxOrMin==0?max:min);

}
编译成功 但是运行不了!希望有人能斧正!感激不敬 只是想知道为什么错了 ??
----------------------------------
这代码没错阿。运行也没问题
南京大白蔡 2007-04-25
  • 打赏
  • 举报
回复
#include"stdio.h"

void dx(float arry[],int n);
float max=0,min=0;
void main()
{
int i;
float score[10];

printf("please enter score:\n");

for(i=0;i<10;i++)
scanf("%f",&score[i]);
dx(score,10);

printf("MAX=%f,MIN=%f",max,min);
}

void dx(float arry[],int n)
{
int i;
max=min=arry[0];
for(i=0;i<n;i++)
{
if(arry[i]>max)
max=arry[i];
if(arry[i]<min)
min=arry[i];
}
}
vvwwvv 2007-04-25
  • 打赏
  • 举报
回复
float max=0,min=0;定义了全局变量~
return (MaxOrMin==0?max:min);
这句就不用了吧#51
hasan198703 2007-04-25
  • 打赏
  • 举报
回复
#include"stdio.h"
float dx(float arry[],int n,int MaxOrMin);
float max=0,min=0;
void main()
{int i;
float score[10];
printf("please enter score:\n");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
max=dx(score,10,0);
min=dx(score,10,1);
printf("MAX=%f,MIN=%f",max,min);
}

float dx(float arry[],int n, int MaxOrMin)
{ int i;
max=min=arry[0];
for(i=0;i<n;i++)
{
if(arry[i]>max)
max=arry[i];
if(arry[i]<min)
min=arry[i];
}
return (MaxOrMin==0?max:min);

}
编译成功 但是运行不了!希望有人能斧正!感激不敬 只是想知道为什么错了 ??
mymtom 2007-04-25
  • 打赏
  • 举报
回复
max=dx(score,10);
min=dx(score,10);
改为:
max=dx(score,10, 0);
min=dx(score,10, 1);
hasan198703 2007-04-25
  • 打赏
  • 举报
回复
#include"stdio.h"
float dx(float arry[],int n,int MaxOrMin);
float max=0,min=0;
void main()
{int i;
float score[10];
printf("please enter score:\n");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
max=dx(score,10);
min=dx(score,10);
printf("MAX=%f,MIN=%f",max,min);
}

float dx(float arry[],int n, int MaxOrMin)
{ int i;
max=min=arry[0];
for(i=0;i<n;i++)
{
if(arry[i]>max)
max=arry[i];
if(arry[i]<min)
min=arry[i];
}
return (MaxOrMin==0?max:min);

}

还是编译失败!!
lidongri 2007-04-25
  • 打赏
  • 举报
回复
max=dx(score,10, 0);
min=dx(score,10, 1);


------
return MaxOrMin==0?max:min;
--
return (MaxOrMin==0?max:min);
lidongri 2007-04-25
  • 打赏
  • 举报
回复
yun

float dx(float arry[],int n, int MaxOrMin)
{ int i;
max=min=arry[0];
for(i=0;i<n;i++)
{
if(arry[i]>max)
max=arry[i];
if(arry[i]<min)
min=arry[i];
}
return MaxOrMin==0?max:min;

}
discory 2007-04-25
  • 打赏
  • 举报
回复
最后dx函数没返回值
venuschenxi 2007-04-25
  • 打赏
  • 举报
回复
函数的返回值一般都是一个.你的dx函数虽然是找出了数组里的最大和最小值但是并不是说返回的就是之两个值,main里的max和min所得到的是运行dx后的返回值
既然你定义max,min为全局变量
max=dx(score,10);
min=dx(score,10);
这两句可改为dx(score,10);就行.

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧