โดย touleg » 13/12/2010 12:20 am
ค่าเฉลี่ย-ค่าที่รับมา(ที่ละตัว)
ลบแล้วเอาค่าที่ได้ของแต่ละตัวมาเปรียบเทียบกัน
ค่าไหนลบแล้วได้ค่าน้อยสุดแสดงว่าใกล้เคียงสุด
* เวลาลบต้องใส่ absolute ให้กับค่าที่ลบได้ด้วย เพราะเราไม่รู้ว่าค่าที่เอามาลบกันจะติดลบหรือเปล่า
โค้ดสามารถเขียนได้หลายแบบ อันนี้เป็นแค่แบบนึงเท่านั้น
โค้ด: เลือกทั้งหมด
#include<stdio.h>
#include<math.h>
void main()
{
int a,b,c,avg;
printf("Enter a: ");
scanf("%d",&a);
printf("Enter b: ");
scanf("%d",&b);
printf("Enter c: ");
scanf("%d",&c);
avg = (a+b+c)/3;
printf("AVG = %f\n",avg);
if(abs(avg-a)<=abs(avg-b) && abs(avg-a)<=abs(avg-c))//a ใกล้สุด
{
printf("%d",a);
}else if(abs(avg-b)<=abs(avg-a) && abs(avg-b)<=abs(avg-c) ){ //b ใกล้สุด
printf("%d",b);
}else{ //c ใกล้สุด
printf("%d",c);
}
}
ค่าเฉลี่ย-ค่าที่รับมา(ที่ละตัว)
ลบแล้วเอาค่าที่ได้ของแต่ละตัวมาเปรียบเทียบกัน
ค่าไหนลบแล้วได้ค่าน้อยสุดแสดงว่าใกล้เคียงสุด
* เวลาลบต้องใส่ absolute ให้กับค่าที่ลบได้ด้วย เพราะเราไม่รู้ว่าค่าที่เอามาลบกันจะติดลบหรือเปล่า
โค้ดสามารถเขียนได้หลายแบบ อันนี้เป็นแค่แบบนึงเท่านั้น
[code]
#include<stdio.h>
#include<math.h>
void main()
{
int a,b,c,avg;
printf("Enter a: ");
scanf("%d",&a);
printf("Enter b: ");
scanf("%d",&b);
printf("Enter c: ");
scanf("%d",&c);
avg = (a+b+c)/3;
printf("AVG = %f\n",avg);
if(abs(avg-a)<=abs(avg-b) && abs(avg-a)<=abs(avg-c))//a ใกล้สุด
{
printf("%d",a);
}else if(abs(avg-b)<=abs(avg-a) && abs(avg-b)<=abs(avg-c) ){ //b ใกล้สุด
printf("%d",b);
}else{ //c ใกล้สุด
printf("%d",c);
}
}
[/code]