C语言编程>第一周 ① 输入两个数,并使其从大到小输出(利用指针方式)

166 阅读2分钟

例题:输入两个数,并使其从大到小输出(利用指针方式)

代码如下:

#include"stdio.h"
void main()
{
	int *p1,*p2,*p;
	int a,b;
	printf("请输入a的值\n");
	scanf("%d",&a);
	printf("请输入b的值\n");
	scanf("%d",&b);
	p1=&a;p2=&b;
	if(a<b)
	{
		p=p1;p1=p2;p2=p;
	}
	printf("a=%d,b=%d\n",a,b);
	printf("max=%d,min=%d\n",*p1,*p2);
}

假设输入a=6,b=8,运行输出窗口如下:在这里插入图片描述

假设题目更改为:输入三个数,并使其从大到小输出,该怎么做呢?

利用倒换式方法实现代码如下:

#include<stdio.h>
void main() {
	int a,b,c,t;
	printf("请输入a的值:");
	scanf("%d",&a);
	printf("请输入b的值:");
	scanf("%d",&b);
	printf("请输入c的值:");
	scanf("%d",&c);
	printf("a=%d,b=%d,c=%d\n",a,b,c);
	if (a < b){//完成a和b值的交换,a里面放最大值
		t = a;
		a = b;
		b = t;
	}
	if (a < c) {//完成a和c值的交换,a里面放最大值
		t = a;
		a = c;
		c = t;
	}
	if (b < c) {//完成b和c值的交换,a里面放最大值
		t = b;
		b = c;
		c = t;
	}
	printf("这三个整数从大到小分别为:%d   %d   %d\n",a,b,c);
}

假设输入a=11,b=24,c=36,运行输出窗口如下:
在这里插入图片描述

利用基本逻辑式方法实现代码如下:

#include"stdio.h"
void main()
{
	int a,b,c,t;
	printf("请输入a的值\n");
	scanf("%d",&a);
	printf("请输入b的值\n");
	scanf("%d",&b);
	printf("请输入c的值\n");
	scanf("%d",&c);
	if(a<b)
	{
		if(b<c)
		{	
			printf("a=%d,b=%d,c=%d\n",a,b,c);
			printf("从大到小依次为c,b,a\n");
		}
		else if(b>c)
		{
			if(a<c)
			{
				printf("a=%d,b=%d,c=%d\n",a,b,c);
				printf("从大到小依次为b,c,a\n");
			}
			else if(a>c)
			{
				printf("a=%d,b=%d,c=%d\n",a,b,c);
				printf("从大到小依次为b,a,c\n");
			}
		}
	}
	else if(a>b)
	{
		if(b>c)
		{
			printf("a=%d,b=%d,c=%d\n",a,b,c);
			printf("从大到小依次为a,b,c\n");
		}
		else if(b<c)
		{
			if(a>c)
			{
				printf("a=%d,b=%d,c=%d\n",a,b,c);
				printf("从大到小依次为a,c,b\n");
			}
			else if(a<c)
			{
				printf("a=%d,b=%d,c=%d\n",a,b,c);
				printf("从大到小依次为c,a,b\n");
			}
		}
	}
}

假设输入的值仍为a=11,b=24,c=36,运行输出窗口如下:
在这里插入图片描述
本周其他练习

C语言程序设计专栏

C语言编程>第一周 ① 输入两个数,并使其从大到小输出(利用指针方式)。

C语言编程>第一周 ② 输入圆的半径r的值,输出其面积。

C语言编程>第一周 ③ 输入某年某月某日,判断这一天是这一年的第几天。

C语言编程>第一周 ④ 输出9*9乘法表。

C语言编程>第一周 ⑤ 有1、2、3、4,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

C语言编程>第一周 ⑥ 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

C语言编程>第一周 ⑦ 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

C语言编程>第一周 ⑧ 输入两个正整数m和n,求其最大公约数和最小公倍数。

越努力越幸运!
加油,奥力给!!!