用c语言编写含有数组的程序,9个评委给某选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分

用c语言编写含有数组的程序,9个评委给某选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分,第1张

#include <stdioh>

void bubbleSort(int a[]);

int main(void)

{

int a[9] = {0}, i = 0;

float aver = 00;

printf("请9位评委依次打分:");

for(i = 0; i < 9; i++)

scanf("%d", &a[i]);

bubbleSort(a);

for(i = 1; i < 8; i++)

aver += a[i];

aver /= 7;

printf("平均分为:%f\n", aver);

return 0;

void bubbleSort(int a[])

int i = 0, j = 0, temp = 0;

for(i = 0; i < 8; i++)

for(j = 0; j < 8 - i;j++)

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

temp = a[j];

a[j] = a[j + 1];

a[j + 1] = temp;

}

数组声明

数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。

数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

百度百科-数组

#include "stdioh"

double getAve(double a[],int n)

{

    int i;

    double sum=0;

    for(i=0;i<n;i++)

      sum+=a[i];

    return sum/n;  

}

int main()

{

   double a[5]={0};

   int i;

   printf("请输入5个学生的成绩:\n");

   for(i=0;i<5;i++)

     scanf("%lf",&a[i]);

   printf("这5个学生的平均成绩为:%lf\n",getAve(a,5));

   return 0;  

}

唉,刚才想到的那个算法有问题,算了,给你一个用穷举写的吧:

36个数字平均分成4组的分法太多了,有2万多种,得运行好长时间

#include <conioh>

#include <stdioh>

#define N 36

#define M 9

int main()

{

int num[N]={0};

int i1,i2,i3,i4,i5,i6,i7,i8,i9,count=0;

for(i1=0;i1<N;i1++) num[i1]=i1+1;

for(i1=0;i1<(N/M);i1++)

for(i2=0;i2<(N/M);i2++)

for(i3=0;i3<(N/M);i3++)

for(i4=0;i4<(N/M);i4++)

for(i5=0;i5<(N/M);i5++)

for(i6=0;i6<(N/M);i6++)

for(i7=0;i7<(N/M);i7++)

for(i8=0;i8<(N/M);i8++)

for(i9=0;i9<(N/M);i9++)

{

printf("%2d %2d %2d %2d %2d %2d %2d %2d %2d\n",num[i1],num[4+i2],num[8+i3],num[12+i4],num[16+i5],num[20+i6],num[24+i7],num[28+i8],num[32+i9]);

count++;

if(count%(N/M)==0)printf("\n");

}

printf("%d ",count);

getch();

return 0;

}

main()

{float a,max=0,min=0,av,sum=0;int i;<br/>for(i=1;i<=10;i++)<br/>{scanf("%f",&a);sum+=a;<br/>if(max<a)max=a;<br/>if(min>a)min=a;}

av=sum/10;

printf("%f,%f,%f",max,min,av);}

程序1

用英文ASCII字符书写,不用中文,大小写要区分。

#include <stdioh>

int main(){

int a,b,c;

printf("please input a,b:");

scanf("%d,%d",&a,&b);

c=ab;

printf("c=%d\n",c);

return 0;

}

程序2

测试数据两数据间有逗号,所以输入格式要有逗号

平均值可能带小数,所以用 double a

#include <stdioh>

int main(){

int x,y;

double a;

printf("input x y:");

scanf("%d,%d",&x,&y);

a=(x+y)/20;

printf("The average is: %g\n",a);

return 0;

}

#include<stdioh>

int main(void)

{ float sum=00,avg=00;

  int num,count,c9,c89,c78,c67,c6;

  num=count=c9=c89=c78=c67=c6=0;

  scanf("%d",&num);

  while(num>=0 && num<101) //这里不能有分号,否则就进入死循环了。另外,还应当允许为0 

  { sum=sum+num;

    count=count+1;

    if(num>=90) c9=c9+1;

    else

    { if(num>=80 && num<90) c89=c89+1;

      else

      { if(num>=70 && num<80) c78=c78+1;

        else

        { if(num>=60 && num<70) c67=c67+1;

          else c6=c6+1;

        }

      }

    }

    scanf("%d",&num);

  }

  avg=sum/count;

  printf("全班平均成绩为:%f\n",avg);

  printf("90分以上的(包括90分)的人数是:%d\n",c9);

  printf("80~90分(包括80分)的人数是:%d\n",c89);

  printf("70~80分(包括70分)的人数是:%d\n",c78);

  printf("60~70分(包括60分)的人数是:%d\n",c67);

  printf("60分以下的人数是:%d\n",c6);

  return 0;

}

#include&lt;stdioh&gt;

void main()

{

float a[10][10];//用来存放10名学生的5门成绩,最后一位用于存放平均成绩

int i,j;

float sum=00;

for(i=0;i&lt;10;i++)

{

printf("请输入第%d个学生的5门成绩",i+1);

for(j=0;j&lt;5;j++)

{

scanf("%f",&a&lt;i&gt;[j]);

sum=sum+a&lt;i&gt;[j];

}

a&lt;i&gt;[10]=sum/50;

}

printf("10名学生的成绩及平均分\n");

for(i=0;i&lt;10;i++)

{

for(j=0;j&lt;10;j++)

printf("%3f",a&lt;i&gt;[j]);

printf("\n");

}

}

扩展资料:

printf的用法

格式

printf函数的原型为:

#include&lt;stdioh&gt;

int printf(const charformat,);

在讲每一个函数的时候都会先把它的函数原型写出来,这个原型你们现在看不懂不要紧,等到学完C语言之后再来看这个原型就会发现它是很有参考意义的!它对深刻理解函数有着很大的价值。

printf的格式有四种:

1)printf("字符串\n");

#include&lt;stdioh&gt;

int main(void)

{

printf("Hello World!\n");//\n表示换行

return 0;

}

其中\n表示换行的意思。它是一个转义字符,前面在讲字符常量的时候见过。其中n是“new line”的缩写,即“新的一行”。

此外需要注意的是,printf中的双引号和后面的分号必须是在英文输入法下。双引号内的字符串可以是英文,也可以是中文。

2)printf("输出控制符",输出参数);

纯文本复制

#include&lt;stdioh&gt;

int main(void)

{

int i=10;

printf("%d\n",i);/%d是输出控制符,d表示十进制,后面的i是输出参数/

return 0;

}

以上就是关于用c语言编写含有数组的程序,9个评委给某选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分全部的内容,包括:用c语言编写含有数组的程序,9个评委给某选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分、c语言 编写一个程序,包括两个函数,在主函数中输入5个学生成绩,存放在一个一维数组中,然后调用求平、用C语言写:36个数字平均分成4组(每组九个数字)有多少种分法,并显示分组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9393891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存