c语言 输入三个整数,输出最大值最小值,要求使用指针的方式,要具体的分析过程

语句尽量简短,好一点的可以再加分
2025-01-28 23:45:26
推荐回答(4个)
回答1:

#include
#include
int main( ) {
int aa,bb,cc,mmx,mmi; //指针指向它们,供数据存放
int *a=&aa,*b=&bb,*c=&cc,*mx=&mmx,*mi=&mmi; //声明指针,并初始化。
printf("input 3 int data:\n");
scanf("%d %d %d",a,b,c); //输入数据,a,b,c是地址
*mx= *a; *mi= *a; // 带星号的是 值
if (*b > *mx) *mx= *b; // 带星号的是 值
if (*b < *mi) *mi=*b;
if (*c > *mx) *mx= *c; // 带星号的是 值
if (*c < *mi) *mi=*c;
printf("max = %d min = %d\n", *mx, *mi); // 输出 最大最小值,带星号的是 值

return 0;
}

回答2:

#include
int fun1(int *a)
{
int i, b, max;
max = a[0];
for (i = 1; i < 3; i++)
{
if (a[i] >= max)
b = a[i];
}
return b;
}

int fun2(int *a)
{
int i, c, min;
min = a[0];
for (i = 1; i < 3; i++)
{
if (a[i] <= min)
c = a[i];
}
return c;
}

int main()
{
int i, a[3];
printf("input three counts:");
for (i = 0; i < 3; i++)
scanf("%d", &a[i]);
printf("max is %d\n", fun1(a));
printf("min is %d", fun2(a));
}
祝你愉快!
上面这个没有分析,下面这个和上面的一样的程序,有分析
#include
int fun1(int *a)
{
int i, b, max;
max = a[0]; // 先让最大值为a[0]
for (i = 1; i < 3; i++) // for的目的就是比较出最大值,把最大值付给b
{
if (a[i] >= max)
b = a[i];
}
return b; // 反回最大值
}

int fun2(int *a)
{
int i, c, min;
min = a[0]; // 先让最小值为a[0]
for (i = 1; i < 3; i++) // for的目的就是比较出最小值,把最小值付给c
{
if (a[i] <= min)
c = a[i];
}
return c; // 反回最小值
}

int main()
{
int i, a[3];
printf("input three counts:");
for (i = 0; i < 3; i++)
scanf("%d", &a[i]);
printf("max is %d\n", fun1(a));
printf("min is %d", fun2(a));
}
祝你愉快!

回答3:

int* MAX(int* a,int* b)//返回最大值
{
return *a>*b?a:b;
}
int* MIN(int* a,int* b)//返回最小值
{
return *a<*b?a:b;
}

void main()

{
int a1,a2,a3;
scanf("%d %d %d",&a1,&a2,&a3);
printf("最大值:%d\n",*MAX(MAX(&a1,&a2),&a3));
printf("最小值:%d\n",*MIN(MIN(&a1,&a2),&a3));
return 0;
}

不知道为什么非要用指针,就当函数形参好了

回答4:

#include
void main()
{
void sort(int x[],int n);
int *p,i,a[10];
p=a;
for(i=0;i<3;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(p=a,i=0;i<3;i++);
{printf("%d",*p);p++}
printf("\n");
}

void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i{
k=i;
for(j=i+1;j if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}