我的C語言筆記
阿新 • • 發佈:2018-12-17
2.* (int*)x
的意思:指標x型別強制轉為int型。
while(scanf("%d",&a[len])&&a[len])
其中&&a[len])
意思是a[len]
不等於0滿足迴圈條件,等於0則停止迴圈。
int cmp(const void*x,const void*y)
{
return *(int *)x-*(int *)y;
}
qsort(a,len,sizeof(int),cmp);
qsort函式(快速排序函式)的用法。
#include<stdio.h> #include<stdlib.h> int a[2005]; int cmp(const void*x,const void*y) { return *(int *)x-*(int *)y; } int main() { int len=0; int sum=0; while(scanf("%d",&a[len])&&a[len]) { sum +=a[len]; len++; } qsort(a,len,sizeof(int),cmp); double middle=(len%2)?a[len/2]:((a[len/2]+a[len/2-1])/2.0);//中位數的計算 double avg=sum*1.0/len; printf("%s\n",middle>avg?"Yes":"No"); return 0; }
中位數和平均數