c简单问题,帮帮忙。。。。。
输入3个整数,然后显示这3个整数的和,平均数,积,最小数和最大数。
用IF单一选择形式编写。。
我编写的:
#include "stdio.h "
int main()
{
int x, y, z;
printf( "Input three different integers: ");
scanf( "%d%d%d ", &x, &y, &z );
printf( "Sum is %d\n ", x + y + z );
printf( "Average is %d\n ", (x+y+z)/3 );
printf( "Product is %d\n ", x * y * z );
if(x <y,y <z){
printf( "Smallest is %d\n ", x );
printf( "Largest is %d\n ", z );
}
if(y <z <x){
printf( "Smallest is %d\n ", y );
printf( "Largest is %d\n ", x );
}
if(z <x <y){
printf( "Smallest is %d\n ", z );
printf( "Largest is %d\n ", y );
}
if(x <z <y){
printf( "Smallest is %d\n ", x );
printf( "Largest is %d\n ", y );
}
if(y <x <z){
printf( "Smallest is %d\n ", y );
printf( "Largest is %d\n ", z );
}
if(z <y <x){
printf( "Smallest is %d\n ", z );
printf( "Largest is %d\n ", x );
}
return 0;
}
运行结果显示
无论输入哪3个数,6个if语句后面的printf()个个都显示出来
我都不想要这样的结果
我到底哪里错了,程序怎么不判断条件的??
哪位能指出来我的错误,并且编写个例子出来。。。
拜托,拜托。。不胜感激!
[解决办法]
#include "stdio.h "
int main()
{
int x, y, z;
printf( "Input three different integers: ");
scanf( "%d%d%d ", &x, &y, &z );
printf( "Sum is %d\n ", x + y + z );
printf( "Average is %d\n ", (x+y+z)/3 );
printf( "Product is %d\n ", x * y * z );
if(x <y && y <z){
printf( "Smallest is %d\n ", x );
printf( "Largest is %d\n ", z );
}
if(y <z && z <x){
printf( "Smallest is %d\n ", y );
printf( "Largest is %d\n ", x );
}
if(z <x && x <y){
printf( "Smallest is %d\n ", z );
printf( "Largest is %d\n ", y );
if(y <z && z <x){
printf( "Smallest is %d\n ", y );
printf( "Largest is %d\n ", x );
}
if(z <x && x <y){
printf( "Smallest is %d\n ", z );
printf( "Largest is %d\n ", y );
}
if(x <z && z <y){
printf( "Smallest is %d\n ", x );
printf( "Largest is %d\n ", y );
}
if(y <x && x <z){
printf( "Smallest is %d\n ", y );
printf( "Largest is %d\n ", z );
}
if(z <y && y <x){
printf( "Smallest is %d\n ", z );
printf( "Largest is %d\n ", x );
}
return 0;
}
这样就行了