c语言习题:输入两个整数,并使其从大到小输出,用指针变量实现数的比较。

供稿:hz-xin.com     日期:2025-01-13
C语言练习题.输入3个整数,按从大到小的次序输出.要求用指针变量来处理3个整数.

我帮你下午写一个吧 很简单的
#include"stdio.h"
void main()
{
void exchange(int *pt1,int *pt2,int*pt3);
int a,b,c,*p1,*p2,*p3;
printf("input 3 numbers:
");
scanf("%d%d%d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
exchange(p1,p2,p3);
printf("the result is:%d %d %d
",*p1,*p2,*p3);
}
void exchange(int *pt1,int *pt2,int *pt3)
{
void swap(int *q1,int *q2);
if(*pt1<*pt2) swap(pt1,pt2);
if(*pt1<*pt3) swap(pt1,pt3);
if(*pt2<*pt3) swap(pt2,pt3);
}
void swap(int *q1,int *q2)
{
int temp;
temp=*q1;
*q1=*q2;
*q2=temp;
}
运行过了,是正确的 结果:

#include
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x<y)
{t=x;x=y;y=t;}
if(x<z)
{t=z;z=x;x=t;}
if(y<z)
{t=y;y=z;z=t;}
printf("%d %d %d
",x,y,z);
}

扩展资料:
使用三元运算符,这个运算符会使程序进一步简化,而且看起来更加的直观。
它的一般形式如下:
表达式1? 表达式2:表达式3;
? 表达式的值是由 表达式1 决定的。如果 表达式1 为真,则计算表达式2 的值,结果即为整个 ? 表达式的值。如果 表达式1 为假,则计算 表达式3 的值,结果即为整个 ? 表达式的值。
程序如下:
#include
int main()
{
int max;
int a,b,c;
printf("请输入三个数:");
scanf("%d %d %d",11&a,&b,&c);
max=a>b?a:b;
max=c>max?c:max;
printf("Max is %d",max);
return 0;
}
参考资料来源:百度百科-C语言

#include<stdio.h>
int main()
{
int a,b;
int *pa=0,*pb=0;
scanf("%d",&a);
scanf("%d",&b);
pa=&a;
pb=&b;
if(*pa>*pb)
{
printf("%d,%d",*pa,*pb);
}
else
{
printf("%d,%d",*pb,*pa);
}
}

用c语言编写程序:输入两个复数,计算并输出它们的和及乘积
输入两个复数,计算并输出它们的和及乘积c语言编写:include<stdio.h> include<math.h> void main(){ int i1,i2,j1,j2;int sum(int i1,int i2,int j1,int j2);int mul(int i1,int i2,int j1,int j2);printf("请输入第一个复数的实部和虚部:");scanf("%d %d",&i1,&i2)...

C语言的编程题:输入三个整数,按从大到小的顺序输出
include <stdio.h> main(){ int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x<y){t=x;x=y;y=t;} if(x<z){t=z;z=x;x=t;} if(y<z){t=y;y=z;z=t;} printf("%d %d %d\\n",x,y,z);}

c语言习题,输入一个正整数,按照从高位到低位的顺序输出各位数字。怎么...
include "stdio.h"int main(){ int digit,number,power,t;scanf("%d",&number);number=number<0?-number:number;power=1;t=number\/10;while(t!=0){ power*=10;t\/=10;} printf("the digits are:");while(power!=0){ digit=number\/power;printf("%d ",digit);number=number%power;...

C++习题:输入两整数交换后输出
首先要说明一点的是 一个函数的形式参数也是这个函数的局部变量 按你写的那种方式,传递参数只是把值赋给这个两个局部变量 所以说你这个函数 只是将这个函数的两个局部变量的颠倒了一下 作为实参的变量x y 站在一边看热闹 跟他们一点关系都没有 从全局来看呢就是这样的 a=x,b=y t=a;a=b;b=t...

c语言习题,输入一个正整数,按照从高位到低位的顺序输出各位数字。怎么...
输入时由代码限制只能是正整数,并赋与int型变量n,否则退出;用一个for循环计算输入之数的十进制长度,用1之后的0的个数表示并赋与临时变量t,如10000表示输入了一个4位十进制正整数;用一个while循环先后由t\/=10和n\/t%10来求得从高位至低位的各位数字并输出。代码如下:include "stdio.h"int ...

求最小公倍数的方法c语言
2、输入的两个数,大数m是小数n的倍数,那么大数m即为所求的最小公倍数;若大数m不能被小数n整除则需要寻找一个能同时被两数整除的自然数。从大数m开始依次向后递增直到找到第一个能同时被两数整除的数为止,所以循环变量i的初值为寻找第一个能同时被两整数整除的自然数,并将其输出。需要注意的...

scanf在c语言中的作用
scanf是c语言中的标准库函数,主要作用是接收用户输入的数据。scanf是C语言中的输入函数,可以从键盘获得用户输入,和printf输出功能正好相反。scanf的输入格式是多种多样的,使用时需根据情况选择,最常用的是十进制整数型输入%d。scanf的使用和输入格式 scanf("%d", &c); \/\/输入一个整数并赋值给c。

用Java 写一个两个整数相加的程序
代码如下:public class Test { public static int add(int a,int b){ return a+b;} public static void main(String args[]){ Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个数");int a = scanner.nextInt();System.out.println("请输入第二个数");int b...

C语言编程:任意输入若干整数,使这些数按每5个数一行排列输出
include <stdio.h> void main(){ int temp, count = 0;do { scanf("%d", &temp);((++count % 5) != 0 ) ? printf("%d\\t",temp) : printf("%d\\n",temp);}while (getchar() != '\\n');} \/\/随便写了一下,应该是没有问题的!

C语言问题
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 2.程序源代码: main() { int a,b,num1,num2,temp; printf("please input two numbers:\\n"); scanf("%d,%d",&num1,&num2); if(num1 { temp=num1; num1=num2; num2=temp; } a=num1;b=num2; while...