C语言
i
分析:三个值轮换跟两个值互换是一样的原理,在变量被赋新值之前必须保证原值已经被保存。设temp为临时变量,则 temp=i; i=k; k=j; j=temp ,参考以上做法,轮换时要求用指针p1,p2,p3来替代i,j,k. 源程序:
#include
void main ( )
{ int i,j,k,temp, *p1=,*p2=,*p3=;
printf("Input i j k: "); scanf("%d%d%d",&i,&j,&k); //输入i j k
//i-->j-->k-->i
temp=;
;
;
= temp;
printf("%d %d %d \n", *p1,*p2, *p3); //输出轮换后的i j k
}
输入:1 2 3
输出:3 1 2
【实验题4】程序填空:输入三个整数,要求设计2个指针变量p1,p2 ,使p1指向这三个数的最大值,p2指向最小者 ,并输出最大值和最小值。
# include
void main ( )
{ int a,b,c, *p1, *p2, *p3;
scanf(“%d%d%d”,&a,&b,&c);
// 令p1指向最大值
p1=; //p1指向a,b中较大者
if() p1=&c;
//令 p2指向最小值
p2=; //p2指向a,b中较小者
if() p2=&c;
printf(“max=%d, min=%d”, *p1,*p2 );
}
运行结果:输入 1 2 3
输出
【实验5】程序设计(冒泡排序):输入8个实数,要求用冒泡法将这8个实数按降序排列,输出排序结果。 # include
void main ( )
{ double a[8], temp;