#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;
}
#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));
}
祝你愉快!
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;
}
不知道为什么非要用指针,就当函数形参好了
#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(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}