1,
#include <stdio.h>
void inv(int *x,int n);
int main()
{
int i,arr[5],*p=arr;
printf("The original array:\n");
for(i=0;i<5;i++,p++)
scanf("%d",p);
printf("Output:\n");
/******start******/
p=arr;
/******end******/
inv(p,5);
printf("The array has been inverted:\n");
for(p=arr;p<arr+5;p++)
printf("%d ",*p);
printf("\n");
return 0;
}
void inv(int *x,int n)
{
/******start******/
int i,j,m;
for(i=0,j=4;i<=j;i++,j--)
{
m=*(x+i);
*(x+i)=*(x+j);
*(x+j)=m;
}
/******end******/
}
2,
#include <stdio.h>
void inv(int *x,int n);
int main()
{
int i,a[5];
printf("The original array:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("Output:\n");
inv(a,5);
printf("The array has been inverted:\n");
for(i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void inv(int *x,int n) //形参x是指针变量
{
/******start******/
int i,m;
for(i=0;i<n/2;i++)
{
m=*(x+i);
*(x+i)=*(x+4-i);
*(x+4-i)=m;
}
/******end******/
}
3,
#include <stdio.h>
/******start******/
void swap(int *p1,int *p2);
/******end******/
int main()
{
int a,b;
int*pointer_1,*pointer_2;
printf("please enter a and b:");
scanf("%d,%d",&a,&b);
pointer_1=&a;
pointer_2=&b;
if(a<b) swap(pointer_1,pointer_2);
printf("Output:\nmax=%d,min=%d\n",a,b);
return 0;
}
/******start******/
void swap(int *p1,int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
/******end******/
4,
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *a;
int i;
printf("please enter 5 integer numbers:");
/******start******/
a=(int*)malloc(5);
/******end******/
for(i=0;i<5;i++)
{
/******start******/
scanf("%d",(a+i));
/******end******/
}
printf("Output:\n");
for(i=0;i<5;i++)
{
/******start******/
printf("%d ",*(a+i));
/******end******/
}
printf("\n");
return 0;
}