Archive | 25.11.2011

Tính tổng aver = ∑ (ai− max ) 2 + ∑(ai− min) 2 + (n\2)*(max-min)2.Trong đó Max, Min lần lượt là giá trị lớn nhất, nhỏ nhất của n số thực (được nhập vào từ thiết bị nhập chuẩn) a0, a1, …, an-1.

Do mình chưa học về mảng nên vấn đề chính của bài toán này là không thể dùng mảng để lưu giá trị của n số thực nói trên.Do đó ý tưởng của mình là sẽ dùng một vòng lặp để vừa nhập vào và vừa  tính toán ,vừa tìm max,min.

Sau đây bài giải của mình mong mọi người tham khảo đóng góp ý kiến.Cảm ơn mọi người!

#include<stdio.h>
void main()
{
float a,b,s1,s2,max,min,avar;
int n;
printf(“chuong trinh se dung khi nhap a=0\n”);
printf(“nhap vao so hang dau tien:”);
scanf(“%f”,&a);
min=max=a;
s1=0;
s2=0;
n=1;
while(a!=0)
{
if(min>a)
min=a;
if(max<a)
max=a;
s1+=a*a;
s2+=a;
printf(“nhap vao so hang thu %d:”,n+1);
scanf(“%f”,&a);
n++;
}
avar=2*s1+(float)(n-1)*(min*min+max*max)-2*s2*(min+max);
printf(“gia tri cua avar la avar=%f”,avar);
}

Advertisements