#include <stdio.h>
# define N 10
void fun(float *x,float *a,float *b,int n)
{ int k;
*a=*b=x[0];
for(k=1;k<n;k++)
{if(x[k]>*a) *a=x[k];
else if(x[k]<*b)
*b=x[k];
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",p);
p=a;
fun(p,N,&max,&min)
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",max);
}
因为学过的时间长了 所以实参形参都用了指针 希望各位高手给看看 怎么改成实参数组名 形参用指针 这个代码用VC++6.0编译没有通过 有两个错误 希望高手大大一起帮着改了 小弟不胜感激
7 个解决方案
#1
#include <stdio.h>
# define N 10
void fun(float *x,int a,float *b,int *n)
{ int k;
*a=*n=x[0];
for(k=1;k<a;k++)
{if(x[k]>*a) *a=x[k];
else if(x[k]<*b)
*b=x[k];
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",*p);
p=a;
fun(p,N,&max,&min)
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",max);
}
#2
fun(p,&max,&min,N)
调用顺序 不对
调用顺序 不对
#3
#include <stdio.h>
# define N 10
void fun(float *x,float *b,float *n)
{ int k;
*b=*n=x[0];
for(k=1;k<N;k++)
{if(x[k]>*b) *b=x[k];
else if(x[k]<*n)
*n=x[k];
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",*p);
p=a;
fun(p,&max,&min)
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",max);
}
先的没写清楚。。这样你看看
# define N 10
void fun(float *x,float *b,float *n)
{ int k;
*b=*n=x[0];
for(k=1;k<N;k++)
{if(x[k]>*b) *b=x[k];
else if(x[k]<*n)
*n=x[k];
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",*p);
p=a;
fun(p,&max,&min)
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",max);
}
先的没写清楚。。这样你看看
#4
#include <stdio.h>
# define N 10
void fun(float *x,float *a,float *b,int n)
{ int k;
*a=*b=x[0];
for(k=1;k<n;k++)
{if(x[k]>*a) *a=x[k];
else if(x[k]<*b)
*b=x[k];
}
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",p);
p=a;
fun(p,&max,&min,N);
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",min);
}
# define N 10
void fun(float *x,float *a,float *b,int n)
{ int k;
*a=*b=x[0];
for(k=1;k<n;k++)
{if(x[k]>*a) *a=x[k];
else if(x[k]<*b)
*b=x[k];
}
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",p);
p=a;
fun(p,&max,&min,N);
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",min);
}
#5
已经测试,VC6.0下通过
#6
顺便多说一句,其实楼主的代码大部分都是对的,思路也很清楚,细节方面要多注意,比如你FUN函数少个}
,你的实参顺序不对,最后你输出的都是MAX两个最大值,总共有三个错误!
,你的实参顺序不对,最后你输出的都是MAX两个最大值,总共有三个错误!
#7
fun(p,&max,&min,N);只是这里错了。。。
#1
#include <stdio.h>
# define N 10
void fun(float *x,int a,float *b,int *n)
{ int k;
*a=*n=x[0];
for(k=1;k<a;k++)
{if(x[k]>*a) *a=x[k];
else if(x[k]<*b)
*b=x[k];
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",*p);
p=a;
fun(p,N,&max,&min)
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",max);
}
#2
fun(p,&max,&min,N)
调用顺序 不对
调用顺序 不对
#3
#include <stdio.h>
# define N 10
void fun(float *x,float *b,float *n)
{ int k;
*b=*n=x[0];
for(k=1;k<N;k++)
{if(x[k]>*b) *b=x[k];
else if(x[k]<*n)
*n=x[k];
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",*p);
p=a;
fun(p,&max,&min)
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",max);
}
先的没写清楚。。这样你看看
# define N 10
void fun(float *x,float *b,float *n)
{ int k;
*b=*n=x[0];
for(k=1;k<N;k++)
{if(x[k]>*b) *b=x[k];
else if(x[k]<*n)
*n=x[k];
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",*p);
p=a;
fun(p,&max,&min)
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",max);
}
先的没写清楚。。这样你看看
#4
#include <stdio.h>
# define N 10
void fun(float *x,float *a,float *b,int n)
{ int k;
*a=*b=x[0];
for(k=1;k<n;k++)
{if(x[k]>*a) *a=x[k];
else if(x[k]<*b)
*b=x[k];
}
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",p);
p=a;
fun(p,&max,&min,N);
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",min);
}
# define N 10
void fun(float *x,float *a,float *b,int n)
{ int k;
*a=*b=x[0];
for(k=1;k<n;k++)
{if(x[k]>*a) *a=x[k];
else if(x[k]<*b)
*b=x[k];
}
}
void main()
{float a[N],*p=a,max,min;
printf("shuru\n");
for(;p<a+N;p++)
scanf("%f",p);
p=a;
fun(p,&max,&min,N);
printf("max=%6.2f\n",max);
printf("min=%6.2f\n",min);
}
#5
已经测试,VC6.0下通过
#6
顺便多说一句,其实楼主的代码大部分都是对的,思路也很清楚,细节方面要多注意,比如你FUN函数少个}
,你的实参顺序不对,最后你输出的都是MAX两个最大值,总共有三个错误!
,你的实参顺序不对,最后你输出的都是MAX两个最大值,总共有三个错误!
#7
fun(p,&max,&min,N);只是这里错了。。。