你所不知道的“三个数从大到小的顺序输出”之—对if (else)条件语句的运用。

把三个数从大到小的顺序输出,可能会一个一个的比较,这个会很麻烦,大多数情况下,都是两两比较然后和第三个数再比较大小,此程序主要是对条件语句的熟练应用。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int data1 = 0;
	int data2 = 0;
	int data3 = 0;
	printf("please enter datas:");
	scanf("%d%d%d",&data1,&data2,&data3);
	if (data1 > data2)
	{
	   if (data2 > data3)
	  {
		  printf("%d %d %d\n", data1, data2, data3);//从大到小的顺序123;
	   }
	   if (data3 > data1)
	   {
		  printf("%d %d %d\n", data3, data1, data2);//从大到小的顺序312;
	   }
	   else if (data1 > data3)
	   {
	    if (data1 > data3)
	   {
		   printf("%d %d %d\n", data1, data3, data2);//从大到小的顺序132;
	   }
	   }
	}
    else//判断data1<=data2;
    {
		if (data1 > data3)
		{
			printf("%d %d %d\n", data2, data1, data3); //从大到小的顺序213;
		}
		if (data3 > data2)
		{
			printf("%d %d %d\n", data3, data2, data1);//从大到小的顺序321;
		}
		else if (data2 > data3)
		{
			if (data3 > data1)
			{
				printf("%d %d %d\n", data2, data3, data1);//从大到小的顺序231;
			}
		}
	}
	system("pause");
	return 0;
	}

第一次if语句中,计算有三种结果,else也有三种结果。总共有6种结果。

注意if()语句的灵活运用。以及其嵌套,在if(else)语句中,记住else语句和它最近的if语句所匹配,这样就会减少出错的概率。if的语法如下:

if(表达式)

语句一

else

语句2.

如果表达式为真执行语句1,否则执行语句2.注意:C中没有bool值,而是用整形来代替,括号中的表达式可以是任何产生整形结果的表达式---零值表达“假”,非零值表式“真”。而C是拥有关系操作符,它们的结果是整形1或者0,而不是布尔值得“真”和“假”。

如下面一个小程序:

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int x = 3;
	if (x > 3)
		printf("输出:",x);
	else
		printf("不输出:",x);
	system("pause");
	return 0;
}

表达式:x>3的值是0或者1.

通过这个小程序对条件语句有新的认识,以及与布尔型的区别。

阅读更多
个人分类: C
所属专栏: c/c++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭