#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<stdioh>
void main()
{
float a[10][10];//用来存放10名学生的5门成绩,最后一位用于存放平均成绩
int i,j;
float sum=00;
for(i=0;i<10;i++)
{
printf("请输入第%d个学生的5门成绩",i+1);
for(j=0;j<5;j++)
{
scanf("%f",&a<i>[j]);
sum=sum+a<i>[j];
}
a<i>[10]=sum/50;
}
printf("10名学生的成绩及平均分\n");
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%3f",a<i>[j]);
printf("\n");
}
}
扩展资料:
printf的用法
格式
printf函数的原型为:
#include<stdioh>
int printf(const charformat,);
在讲每一个函数的时候都会先把它的函数原型写出来,这个原型你们现在看不懂不要紧,等到学完C语言之后再来看这个原型就会发现它是很有参考意义的!它对深刻理解函数有着很大的价值。
printf的格式有四种:
1)printf("字符串\n");
#include<stdioh>
int main(void)
{
printf("Hello World!\n");//\n表示换行
return 0;
}
其中\n表示换行的意思。它是一个转义字符,前面在讲字符常量的时候见过。其中n是“new line”的缩写,即“新的一行”。
此外需要注意的是,printf中的双引号和后面的分号必须是在英文输入法下。双引号内的字符串可以是英文,也可以是中文。
2)printf("输出控制符",输出参数);
纯文本复制
#include<stdioh>
int main(void)
{
int i=10;
printf("%d\n",i);/%d是输出控制符,d表示十进制,后面的i是输出参数/
return 0;
}
以上就是关于用c语言编写含有数组的程序,9个评委给某选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分全部的内容,包括:用c语言编写含有数组的程序,9个评委给某选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分、c语言 编写一个程序,包括两个函数,在主函数中输入5个学生成绩,存放在一个一维数组中,然后调用求平、用C语言写:36个数字平均分成4组(每组九个数字)有多少种分法,并显示分组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)