从键盘输入3个整数,要求设3个指针变量p1,p2,p3?

从键盘输入3个整数,要求设3个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后按由小到大的顺序输出这三个数。

第1个回答  2020-12-07
void main()
{
int v[3];
int *p1=&v[0];
int *p2=&v[1];
int &p3=&v[2];
scanf("%d%d%d",p1,p2,p3);
int t;
if(*p1<*p2){
t=*p1;*p1=*p2;*p2=t;
}
if(*p1<*p3){t=*p1;*p1=*p3;*p3=t;
}
if(*p2<*p3){t=*p2;*p2=*p3;*p3=t;
}
printf("\n%d,%d,%d",*p3,*p2,*p1);
}本回答被提问者采纳

从键盘输入3个整数,要求设3个指针变量p1,p2,p3?
void main(){ int v[3];int *p1=&v[0];int *p2=&v[1];int &p3=&v[2];scanf("%d%d%d",p1,p2,p3);int t;if(*p1<*p2){ t=*p1;*p1=*p2;*p2=t;} if(*p1<*p3){t=*p1;*p1=*p3;*p3=t;} if(*p2<*p3){t=*p2;*p2=*p3;*p3=t;} printf("\\n%d,%d,%d",*p...

输入3个整数要求设计3个指针变量p1p2p3使p1指向3个数的最大者, p2指向...
int middle(int x,int y,int z);void main(){ int e,f,g;int *p1,*p2,*p3;printf("输入整数:\\n");scanf("%d%d%d",&e,&f,&g);int i = max((max(e,f)),g);int j = min((min(e,f)) ,g );int m = middle(e,f,g);p1 = &i;p3 = &j;p2 = &m;printf("*...

输入3个整数,按从小到大的顺序输出(用指针处理)
include <stdio.h>void main(){int a,b,c,x;int *pa,*pb,*pc;pa=&a;\/\/这里的指针前的星号去掉就行了pb=&b;\/\/pc=&c;\/\/三个都一样printf("请输入3个整数\\n");scanf("%d%d%d",pa,pb,pc);if(*pa>*pb){x=*pa;*pa=*pb;*pb=x;}if(*pa>*pc){x=*pa;*pa=*pc;*pc=...

从键盘上输入三个整数,将它们由小到大输出(c语言)?
int main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(b>c){ t=c;c=b;b=t;} if(a>b){ t=a;a=b;b=t;} printf("%d %d %d",a,b,c);return 0;}

用C语言编写,输入三个数,由小到大的顺序输出
=&a) { P2=&a;} else if (P1!=&b&&P3!=&b) { P2=&b;} else P2=&c; \/\/中间值 printf("%g %g %g\\n",*P1,*P2,*P3);\/\/由小到大输出 return 0;} \/\/---

用指针实现输入3个整数,找出最大的数输出
int main(int argc,char*argv[]){ float a,b,c,*pa=&a,*pb=&b,*pc=&c,max;scanf("%f,%f,%f",pa,pb,pc);if(*pa>*pb){ max=*pa;printf("if1%f\\n",max);} else { max=*pb;printf("else\\n");} if(*pc>max){ max=*pc;printf("if2\\n");} printf("max=%f\\n",...

c语言要求用函数和指针 求三个char型数据按字典顺序排列 不知道哪里错...
strcmp的参数为指针,直接写p1,p2,p3就可以了,估计还要做个类型的强制转换。但是在此之前,str1等变量定义已经有问题了,最好把指针和数组的定义和例子再看一遍,看别人写的和你的有什么区别

关于指针的问题 p, p1, p2都是指针 p=p1; p1=p2;p2=p; 这段语句什么意 ...
你好,这个问题是这样的。指针P1存放的是一个地址,P2存放的也是一个地址。这段语句就是P1,P2里的内容交换,也就是P1和P2里存放的两个地址交换了,但是这两个地址指向的空间并没发生任何变化。只是指针里存放的东西发生了交换。也就是说,现在P1指向b了,P2指向a了,但是a和b的内容没有发生变化。...

输入3个整数,按由小到大的顺序输出.(用指针实现)
include <stdio.h>void main(){int a,b,c,x;int *pa,*pb,*pc;pa=&a;\/\/这里的指针前的星号去掉就行了pb=&b;\/\/pc=&c;\/\/三个都一样printf("请输入3个整数\\n");scanf("%d%d%d",pa,pb,pc);if(*pa>*pb){x=*pa;*pa=*pb;*pb=x;}if(*pa>*pc){x=*pa;*pa=*pc;*pc=...

C#编程 输入三个整数 按从小到大排列输出
void main(){ void exchange(int *q1,int *q2,int *q3); \/\/改成指针类型 void swap(int *a,int *b); \/\/改成指针类型 int a,b,c,*p1,*p2,*p3;scanf("%d,%d,%d",&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3); \/\/把指针做为实际参数传入函数 printf("%d<%d<%d...

相似回答