3 回答

TA貢獻2條經(jīng)驗 獲得超0個贊
# include<stdio.h>
void pra(int num)// 輸出眾數(shù)個數(shù) 眾數(shù) 次數(shù)
{
??? double buff[30][2];//保存輸入元素 及出現(xiàn)次數(shù)
??? double buff2[30];
??? double t;
??? int n = 0, i, j;
??? int max_n = 0;//最高出現(xiàn)次數(shù)
??? if( 0 == num)
??????? return;
??? else
??? {
??????? //輸入數(shù)據(jù)
??????? for(n = 0; n < num ; n++)
??????? {
??????????? scanf("%lf", &buff[n][0]);
??????????? buff[n][1] = 0.0;
??????? }
???????? //排序(前面)
??????? for(i = 0;i< num-1;i++)
??????? {
?????????? for(j = 0;j<num-1-i;j++)
?????????? {
?????????????? if(buff[j][0] > buff[j+1][0])
?????????????? {
?????????????????? t = buff[j][0];
?????????????????? buff[j][0] = buff[j+1][0];
?????????????????? buff[j+1][0] = t;
?????????????? }
?????????? }
??????? }
??????? //計算出現(xiàn)次數(shù)
??????? for(i = 0;i < num; i++)
??????? {
??????????? for(j = 0; j < num;j++)
??????????? {
??????????????? if(buff[i][0] == buff[j][0])
??????????????????? buff[i][1]+= 1;
??????????? }
??????????? if(buff[i][1] > max_n)
??????????????? max_n = (int)buff[i][1];
??????? }
?????? //計算
??????? for(i = 0, j = 0;i<num;i++)
??????? {
??????????? if(max_n==buff[i][1])
??????????? {
??????????????? if(0 == j|| buff2[j - 1]!= buff[i][0])
??????????????? {
??????????????????? buff2[j] = buff[i][0];
??????????????????? j++;
??????????????? }
??????????? }
??????? }
??????? //輸出
??????? printf("%d ", j );
??????? for(i = 0;i < j;i++)
??????????? printf("%.2lf ", buff2[i]);
??????? printf(" %d\n", max_n);
??? }
}
int main(void)
{
??? int num;
??? do
??? {
??????? scanf("%d", &num);
??????? pra(num);
??? }while(0 != num);
??? return 0;
}
//chu xue zhe ben 人??? 嘿嘿
- 3 回答
- 0 關(guān)注
- 1455 瀏覽
添加回答
舉報