写关于指针的课后题时程序有问题
题目是从十个数字中找出最大值和最小值。程序如下,小白实在不晓得哪儿出问题了,还望各位能帮忙看一下{:5_105:}
#include<stdio.h>
void main()
{
int max(int *o, int i);
int min(int *v, int i);
int a, i, *p;
for(i=0;i<=9;i++)
{
printf("a[%d]=", i);
scanf("%d", &a);
p=a;
}
printf("max=%d, min=%d", max(*p,i), min(*p,i));
}
int max(int *o, int i)
{
int max=o;
for(i=9;i>=0;i--,*o--)
{
if(o>max)
{
max=o;
}
}
}
int min(int *v, int i)
{
int min=v;
for(i=9;i>=0;i--,*v--)
{
if(v<min)
{
min=v;
}
}
} #include<stdio.h>
#define SIZE 10
int max(int *o, int *p);
int min(int *v, int *p);
void main()
{
int a, i,*p1,*p2;
int numMax;
int numMin;
p1 = &numMax;
p2 = &numMin;
for(i=0;i<SIZE;i++)
{
printf("a[%d]=", i);
scanf("%d", &a);
}
max(a,p1);
min(a,p2);
printf("max=%d, min=%d\n", numMax, numMin);
}
int max(int *o,int *p)
{
int max=o;
int i;
for(i=SIZE-1;i>=0;i--)
{
if(o>max)
{
max=o;
}
}
*p = max;
}
int min(int *v,int *p)
{
int min=v;
int i;
for(i=SIZE-1;i>=0;i--)
{
if(v<min)
{
min=v;
}
}
*p = min;
} 本帖最后由 jhq999 于 2022-8-11 06:53 编辑
#include<stdio.h>
void main()
{
int max(int *o, int i);
int min(int *v, int i);
int a, i, *p=a;
for(i=0;i<=9;i++)
{
printf("a[%d]=", i);
scanf("%d", &a);
//////////////p=a;
}
printf("max=%d, min=%d", max(p,i), min(p,i));
}
int max(int *o, int i)
{
int max=*o;
for(i=9;i>=0;i--,o--)
{
if(*o>max)
{
max=*o;
}
}
return max;
}
int min(int *v, int i)
{
int min=*v;
for(i=9;i>=0;i--,v--)
{
if(*v<min)
{
min=*v;
}
}
return min;
}
void main()
{
int max=0x80000000;
int min=0x7fffffff;
int a, i;
for(i=0;i<=9;i++)
{
printf("a[%d]=", i);
scanf("%d", &a);
if(max<a)
max=a;
else
min=a;
}
printf("max=%d, min=%d", max, min);
} void main()
{
int max=0x80000000;
int min=0x7fffffff;
int a, i;
for(i=0;i<=9;i++)
{
printf("a[%d]=", i);
scanf("%d", &a);
if(max<a)
max=a;
else
min=a;
}
printf("max=%d, min=%d", max, min);
}
最大值和最小值反了 jhq999 发表于 2022-8-11 06:47
最小值是一个负数,最大值是一个正整数
0X7 fff ff if,是正整书说 aaron0919 发表于 2022-8-11 08:40
最小值是一个负数,最大值是一个正整数
0X7 fff ff if,是正整书说
把最小值初始值赋值成最大的数
最大值初始值赋值成最小的数
页:
[1]