编程语言应用

首页 » 常识 » 常识 » 最值平均值和排序编程
TUhjnbcbe - 2023/10/9 17:16:00
专治白癜风的专科医院 https://wapyyk.39.net/bj/zhuanke/89ac7.html

输入10个互不相等的正整数存入一维整型数组a中,要求对这10个数作相应的处理并按示例格式依次输出下列结果:

⑴最大值和最小值及其所在位置下标;

⑵平均值(保留1位小数);

⑶大于并最接近平均值的数及其所在位置下标

⑷小于平均值的数的个数;

⑸10个数按从小到大的顺序排列。

要求:

从键盘输入10个互不相等的正整数存入一维整型数组a中;

按样例格式依次输出以下各行:⑴最大值和最小值及其所在位置下标;

⑵平均值(保留1位小数);

⑶大于并最接近平均值的数及其所在位置下标

⑷小于平均值的数的个数;

⑸10个数按从小到大的顺序排列。

Maximum:a[5]=95

Minimum:a[0]=50

Average:72.5

Closestto:a[7]=75

Lessthan:5

Sort:

(注意:冒号后有1个空格!)

解析:

#includestdio.h

#defineN10

intmain()

{

inta[N],i,j,k,t,m,n,sum,max,min,Closest;

for(i=0,sum=0;iN;i++)

{

scanf(%d,a);

sum+=a;//求和

}

max=min=a[0];

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

{

if(max=a)

{max=a;j=i;}//交换法求最大值,

if(min=a)

{min=a;k=i;}//交换法求最小值

}

printf(Maximum:\na[%d]=%d\nMinimum:\na[%d]=%d\n,j,max,k,min);

printf(Average:\n%.1f\n,(float)sum/10);

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

if((float)sum/10a)

{

Closest=a;break;}//假设第一个大于平均数的值为Closest

for(i=0,n=0;iN;i++)

{

if((float)sum/10a)

{

if(Closesta)

{

Closest=a;m=i;}//交换法求Closest

n++;//求小于平均值的数的个数

}

}

printf(Closestto:a[%d]=%d\n,m,Closest);

printf(Lessthan:%d\n,n);

//交换排序法从小到大排序

for(i=0;iN-1;i++)

{

for(j=i+1;jN;j++)

if(aa[j])

{t=a[j];a[j]=a;a=t;}

}

printf(Sort:);

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

printf(%d,a);

}

若此程序对你有帮助的话,记得点个赞哦,

1
查看完整版本: 最值平均值和排序编程