ช่วยที่ครับ..ภาษา C

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderators: mindphp, ผู้ดูแลกระดาน

gungsakab
PHP Jr. Member
PHP Jr. Member
Posts: 24
Joined: 19/10/2010 2:38 pm

ช่วยที่ครับ..ภาษา C

Post by gungsakab »

คือผมต้องการเขียนโปรแกรมโดยรับค่ามา 3 ค่า

สิ่งที่ผมทำได้แล้วคือ

1. รับค่าจาก Keyboard มา 3 ค่า
2. หาค่าเฉลี่ย

สิ่งที่ยังทำไม่ได้คือ

หาค่าใกล้เคียงกับค่าเฉลี่ยมากที่สุด โดยใช้คำสั่ง if เท่านั้น ไม่ว่า if 1ทางเลือก 2ทางเลือก หรือ หลายทางเลือกได้หมดครับ

เช่น รับค่า 5 , 7 , 3 ค่าเฉลี่ยคือ 5 ค่าใกล้เคียงที่สุดก็คือ 5 อะครับ (ไม่เป็นตรงหาค่าใกล้เคียงนี่แหละครับ) เป็นจำนวนเต็มนะครับ ไม่เอาทศนิยม


** ขอบคุณครับ **

genocideaon
PHP Sr. Member
PHP Sr. Member
Posts: 56
Joined: 21/09/2010 3:57 pm

Re: ช่วยที่ครับ..ภาษา C

Post by genocideaon »

ให้ if เปรียบเทียบเอาได้มั๊ยคัฟ ว่าค่าไหนมากกว่า น้อยกว่า

แล้วให้แสดงอันนั้นเป็นค่าใกล้เคียง

touleg
PHP Super Member
PHP Super Member
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

Re: ช่วยที่ครับ..ภาษา C

Post by touleg »

ค่าเฉลี่ย-ค่าที่รับมา(ที่ละตัว)
ลบแล้วเอาค่าที่ได้ของแต่ละตัวมาเปรียบเทียบกัน
ค่าไหนลบแล้วได้ค่าน้อยสุดแสดงว่าใกล้เคียงสุด

* เวลาลบต้องใส่ absolute ให้กับค่าที่ลบได้ด้วย เพราะเราไม่รู้ว่าค่าที่เอามาลบกันจะติดลบหรือเปล่า

โค้ดสามารถเขียนได้หลายแบบ อันนี้เป็นแค่แบบนึงเท่านั้น

Code: Select all

#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);
	}
}

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 7 guests