C语言作业8

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2. 集合排序(选做)

成绩: 5 / 折扣: 0.8

现有若干个集合的数据,每个数据集合可以自选一个指标参加排序。这些指标包含如下四种:

•Min ,取集合中元素的最小值

•Max ,取集合中元素的最大值

•Mean ,取集合中元素的平均值,平均值的计算公式为:(V1+V2+…+Vn) / n •Median ,取集合中元素的中值,中值的计算公式为:(Vmin+Vmax) / 2

读入数据后,请根据各个集合选择的指标对这些集合进行降序排列,每个集合内的元素请升序排列。

输入:

每行一个集合。[ ] 内为该集合选取的用于集合间排序的指标。随后为集合内各个元素,元素个数不定,以空格分隔。

若输入行的第一个字符为“*”,则表示输入数据结束。

输出:

每行输出一个集合。{ }内为计算出该集合的排序指标值,随后为该集合的各个元素的升序排列。

测试输入期待的输出

1

以文本方式显示

1.[Max]8 3 15↵

2.[Min]9 10 1 2 7↵

3.[Median]2 4↵

4.[Mean]30 20 10↵

5.*↵

以文本方式显示

1.{20}10 20 30↵

2.{15}3 8 15↵

3.{3}2 4↵

4.{1}1 2 7 9 10↵

1

64

M

以文本方式显示

1.[Max]12 344 9 25 65 76 3 0 23↵

2.[Mean]178 1 349 32 32 567 23 322

以文本方式显示

1.{87686}12 1199 3292 12332 12344

87686↵

1

64

M

#include

#include

#include typedef struct line

{

char type[8];

int typeValue;

int data[100];

int n_data;

}line;

int stringToInt(char str[]) {

int returnValue=0;

int n=strlen(str);

for(int i=0;i

{

returnValue=returnValue+((int)str[i]-48)*pow(10.0,--n);

}

return returnValue;

}

void inputToLineData(line * l,char input[])

{

int n,i;//line length

n=strlen(input);

for(i=0;i

{

if(input[i+1]==']')break;

l->type[i]=input[i+1];

}

l->type[i]='\0';

l->n_data=0;

int numStart=i+2;

char str[100][10];

int m=0,j=0;

for(i=numStart;i

{

if(input[i]==' ')

.

{

str[j][m]='\0';

j++;

m=0;

l->n_data++;

}

else

str[j][m++]=input[i];

}

str[j][m]='\0';

l->n_data++;

l->data[0]=0;

for(i=0;in_data;i++)

{

l->data[i]=stringToInt(str[i]);

}

}

void sort(int data[],int n)

{

int i,j,k;

for(i=0;i

for( j=0;j

{

if(data[j]>data[j+1])

{

k=data[j];

data[j]=data[j+1];

data[j+1]=k;

} } }

int getTypevalue(line l)

{

int i,j,k;

if(strcmp(l.type,"Max")==0)

{

int Max;

Max=l.data[0];

for(i=0;i

{

if(l.data[i]>Max) Max=l.data[i];

}

return Max; }

if(strcmp(l.type,"Min")==0)

{

int Min;

Min=l.data[0];

for(i=0;i

{

if(l.data[i]

相关文档
最新文档