输入3个整数,按从小到大的顺序输出(用指针处理)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入3个整数,按从小到大的顺序输出(用指针处理)相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
int main()

int a,b,c,*p1,*p2,*p3,*p;
printf("请输入3个数字以逗号隔开\n");
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
if(a>b)p=p1;p1=p2;p2=p;
if(a>c)p=p1;p1=p3;p3=p;
if(b>c)p=p2;p2=p3;p3=p;
printf("由小到大排列是\n");
printf("%d,%d,%d",*p1,*p2,*p3);
return 0;

#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=x;

if(*pb>*pc)

x=*pb;
*pb=*pc;
*pc=x;

printf("这3个数由小到大的排列顺序为%d,%d,%d",*pa,*pb,*pc);

扩展资料

类型说明

(1)int *a :表示一个指向int型变量的指针,指向的是变量的地址单元

(2)char *b:表示一个指向char变量的指针

*a表示的是这个指针指向地址的值,a为此指针本身的地址,这点要明确,一般用*(a+1)、*(a+2)来表示值,如

int nums[5]=0,1,2,3,4;
int *a=nums;

printf("%d %d %p\\n",*a,*(a+1),a);

指针的运算

指针指向变量地址,若原变量的内容发生了变化,它本身也会发生变化,指针之间的运算一般为值运算和地址运算

(1)值运算:直接通过*运算方式,像a+*(a+1),结果为第一个元素与第二个元素相加。

int nums[5]=0,1,2,3,4;
int *a=nums;

(2)地址运算:通过a+i的方式.指针会指向a的下i个地址。

参考资料来源:百度百科-指针

参考技术A #include<stdio.h>
int main()

int a,b,c,*p1,*p2,*p3,*p;
printf("请输入3个数字以逗号隔开\n");
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
if(*p1>*p2)p=p1;p1=p2;p2=p;
if(*p1>*p3)p=p1;p1=p3;p3=p;
if(*p2>*p3)p=p2;p2=p3;p3=p;
printf("由小到大排列是\n");
printf("%d,%d,%d",*p1,*p2,*p3);
return 0;


修改if的判断条件本回答被提问者采纳
参考技术B 楼上的已经回答了

ZZNUOJ_用C语言编写程序实现1168:大整数(指针专题)(附完整源码)

题目描述

输入3个大整数,位数不超过100位,按从小到大的顺序输出这三个整数。要求定义并使用如下函数比较两个大整数的大小。
 

int cmp(char *a,char *b) 

     

//若大整数a大于b,返回1; 

//若a小于b,返回-1; 

// 若a与b相等,返回0 


输入

输入有3行,每行输入一个大整数,位数不超过100位,输入不含前导0。

输出

以上是关于输入3个整数,按从小到大的顺序输出(用指针处理)的主要内容,如果未能解决你的问题,请参考以下文章

用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。

写一个函数,使N个整数按由小到大的顺序排列,要求在主函数中输入10个数,并输出排好序的数

输入三个整数,比较三个数大小并按从小到大的顺序排列。python代码怎么写?高手请指导,谢谢!

编程 有3个整数a、b、c,由键盘输入,编程序按从小到大的顺序输出它们

写一函数对输入的一组整数由小到大排序,在main主函数调用该函数实现排序。(输入任意个整数即可输出

c++程序设计,输入4个整数按从小到大顺序输出