您的位置:

c语言四个if,C语言四个数按大小排序,列举法编程

本文目录一览:

C语言怎么用四个if找出4个数字中的最大和最小值?

C语言程序:

#include stdio.h

void main()

{

int a, b, c, d;

int max1, max2, max3, min1, min2, min3;

printf("input a, b, c, d : ");

scanf("%d%d%d%d", a, b, c, d);

if(a = b)

{

max1 = a;

min1 = b;

}

else 

{

max1 = b;

min1 = a;

}

if(c = d)

{

max2 = c;

min2 = d;

}

else

{

max2 = d;

min2 = c;

}

if(max1  max2)

{

max3 = max1;

}

else

{

max3 = max2;

}

if(min1  min2)

{

min3 = min1;

}

else

{

min3 = min2;

}

printf("max : %d, min = %d", max3, min3);

}

运行测试:

input a, b, c, d : 2 3 4 1

max : 4, min = 1

如何用C语言的四个if语句从四个整数找到最大值和最小值

首先,你的程序由于定义了变量a,又定义了数组a,而此时数组名a不是变量,与前面定义的变量a重复,只要把数组名a改成非a,b,c,maax,min,i,j的其他字母就行啦但是修改后的程序只能输入数据,不能输出结果。其中一个很明显的错误就是第7行i=1,数组是从下标0开始,很明显你只能存储2个数。经过一番调试,如果你非得用数组解题,可用如下程序:#include stdio.h

void main()

{

int i,j,a[3],t;for (i=0;i3;i++)

{printf("请输入第%d个数的值:",i+1);scanf("%d",a[i]);printf("\n");}for(i=0;i2;i++)

for(j=i+1;j=2;j++)

if(a[i]a[j])

{

t=a[i];

a[i]=a[j];

a[j]=t;

}printf("最大值为%d\n",a[0]);

printf("最小值为%d\n",a[2]);

}程序结果: 对于你后来问到的为什么改后的程序没错而能运行的问题,是因为你定义了一个含有三个元素的数组,而元素下标只能从0-2,而你编的时候刚好写多了一个a3,所以程序对于a1和a2还能分配存储空间,但是对于a3这个额外生出的数据就不知道往哪里存储;还有,你下面进行比较是从a0开始,而这个变量又没分配数值,无法进行比较,所以就无法输出结果 如果你真的很想用abc三个变量和if语句,那么下面这个程序应该适合你,程序如下:#include stdio.h

void main()

{

int a,b,c,t;

printf("输入a、b、c的值(用空格分开):");

scanf("%d %d %d",a,b,c);

if(ab)t=b,b=a,a=t;

if(ac)t=c,c=a,a=t;

if(bc)t=c,c=b,b=t;

printf("最大数:%d\n",a);

printf("最小数:%d\n",c);

}程序结果: 这种题目我看用if语句就最简单啦,至于用到数组和函数调用就有点大题小做。其实函数调用只是if语句的浓缩。

c语言if语句的用法

c语言提供了三种形式的if语句:

1、if(表达式)语句。

例如:if(xy)printf("%d",x);

此时,如果表达式为真,则执行printf语句。

2、if(表达式)语句1 else 语句2

例如:

if(xy)printf("%d",x);

else printf("%d",y);

此时,如果xy成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。

如果xy不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。

3、if(表达式1)语句1

else if(表达式2)语句2

else if(表达式3)语句3

else if(表达式m)语句m

else 语句 n

此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。

在每个语句中,可以有多个语句,但需要加上大括号

例:if(xy){printf("%d",x);break;}

扩展资料:

if语句使用的注意事项:

1.if(条件表达式)其后没有分号。

一般来说,有"{}"有没有";",有";"就没有"{}"

2.if语句所控制的语句如果是一条语句,我们可以不写大括号;

如果控制的是两条以上的语句,必须加大括号。

if语句的控制体没有加大括号是其后跟的一条语句。

建议:永远加上大括号。避免不必要的错误。

参考资料:百度百科-if语句

初学c语言,四个数排序,用if。中间的几个if语句看不懂,能给我讲讲吗?

第一个if,作用是:如果ab,就借用tem变量,把a 和b的值交换一下。确保交换之后a不大于b。

第二个if,执行后,把a与c中较小的数放在a中,即a不大于c。

第三个if,确保了a不大于d。

通过运行前三个if语句,把abcd四个数中最小的数字放在了变量a中。

同样,第四和第五个if语句,把bcd三个数中最小的数字放在了b变量中。

最后一个if,把小数放在c中,而把最大的数放到d中。

从而实现了排序的目的。

有什么问题请留言。

C语言中的if语句有哪些形式呢?

、 第一种形式为基本形式:if

if(表达式) 语句

其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。

2、第二种形式为: if-else

if(表达式) 语句1;else 语句2;

其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

3、第三种形式为if-else-if形式

前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,

一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3;…

else if(表达式m) 语句m; else 语句n;

其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if

句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。

扩展资料

在使用if语句中还应注意以下问题:

在三种形式的if语句中,在if关键字之后均为表达式。

该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如: if(a=5) 语句; if(b) 语句;

都是允许的。只要表达式的值为非0,即为“真”。如在: if(a=5)…;中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。