输入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,由键盘输入,编程序按从小到大的顺序输出它们