例题:输入两个数,并使其从大到小输出(利用指针方式)
代码如下:
#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语言编程>第一周 ⑤ 有1、2、3、4,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
C语言编程>第一周 ⑥ 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
C语言编程>第一周 ⑦ 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
C语言编程>第一周 ⑧ 输入两个正整数m和n,求其最大公约数和最小公倍数。
越努力越幸运!
加油,奥力给!!!