c语言找出4个整数中的最大值和最小值,如何用C语言的四个if语句从四个整数找到最大值和最小值...

时间:2024-10-08 09:31:16

满意答案

lwchfqz

2018.10.24

采纳率:46%    等级:6

已帮助:157人

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

void main()

{

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

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

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

if(a[i]

{

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

void main()

{

int a,b,c,t;

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

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

if(a

if(a

if(b

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

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

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

00分享举报