别忘了采纳啊。
创新互联是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站建设、成都网站设计、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
#includestdio.h
#include"stdlib.h" //用于system("pause...");语句
#include"math.h" //用于函数7
#include"string.h"
#include"iostream.h" //fflush(stdin);
int q=0,p=0;
struct stu
{
char name[100];
char cour[10];
float score[100];
};
float f031(struct stu a[])
{
float x;
{
x=(a[q].score[0]+a[q].score[1]+a[q].score[2])/3;
q++;
}
return(x);
}
float f032(struct stu a[])
{
float y[3]; //*
int i;
y[p]=0;
for(i=0;i10;i++)
y[p]=y[p]+a[i].score[p];
y[p]=y[p]/10;
p++;
return(y[p-1]);
}
float f033(struct stu a[])
{
float c,max=0;
int i,j;
for(i=0;i10;i++)
for(j=0;j3;j++)
if(a[i].score[j]=max)
max=a[i].score[j];
for(i=0;i10;i++)
for(j=0;j3;j++)
if(a[i].score[j]==max)
c=a[i].score[j];
return(c);
}
int f034(struct stu a[])
{
float max=0;
int i,j,w;
for(i=0;i10;i++)
for(j=0;j3;j++)
if(a[i].score[j]=max)
max=a[i].score[j];
for(i=0;i10;i++)
for(j=0;j3;j++)
if(a[i].score[j]==max)
w=i;
return(w);
}
int f035(struct stu a[])
{
float max=0;
int i,j,r;
for(i=0;i10;i++)
for(j=0;j3;j++)
if(a[i].score[j]=max)
max=a[i].score[j];
for(i=0;i10;i++)
for(j=0;j3;j++)
if(a[i].score[j]==max)
r=j;
return(r);
}
float f036(struct stu a[])
{
float x,y=0,z=0;
int i,j;
for(i=0;i10;i++)
{
x=0;
for(j=0;j3;j++)
x=x+a[i].score[j];
x=x/3;
y=y+x*x;
z=z+x;
}
return(y/10-(z*z)/(10*10));
}
void main()
{
float f031(a),f032(a),f033(a),f036(a);
int f034(a),f035(a);
struct stu a[100];
int i,j;
printf("此函数为: 输入10个学生3门课的成绩,分别用函数求出:\n (1)每个学生的平均分;(2)每门课的平均分;(3)找出最高的分数所对应的学生和课程;\n(4)求出平均分方差 x0=(x1^+x2^+...+xn^)/n+((x1+x2+...+xn)/n)^ . \n");
printf("请分别输入3门课程\n");
for(i=0;i5;i++)
scanf("%s",a[i].cour);
printf("请输入十个姓名\n");
for(i=0;i10;i++)
scanf("%s",a[i].name);
printf("请分别输入十行成绩(每行3列)\n");
for(i=0;i10;i++)
for(j=0;j3;j++)
scanf("%f",a[i].score[j]);
printf("输出为:\n");
printf("姓名");
for(i=0;i3;i++)
printf("%12s",a[i].cour);
printf("\n");
for(i=0;i10;i++)
{ printf("%-12s",a[i].name);
for(j=0;j3;j++)
printf("%-12.1f",a[i].score[j]);
printf("\n");
}
printf("每个学生的平均分为:\n");
for(i=0;i10;i++)
printf("%-8s%0.1f\n",a[i].name,f031(a));
q=0;
printf("每门课的平均分为:\n");
for(i=0;i3;i++)
printf("%-12s%0.1f\n",a[i].cour,f032(a));
p=0;
printf("最高的分数所对应的学生和课程为: \n");
printf("%-8.1f%12s%12s\n",f033(a),a[f034(a)].name,a[f035(a)].cour);
printf("平均分方差= ");
printf("%0.2f\n",f036(a));
system("pause...");
}
#includestdio.h
#define N 10
void showarr(int *a,int n) { int i; for ( i=0;in;i++ ) printf("%d ",a[i]); printf("\n"); }
void input(int *a,int n) { int i; for ( i=0;iN;i++ ) scanf("%d",a+i); }
void sort(int *a,int n)
{ int i,j,k,m;
for ( i=0;in-1;i++ )
{ k=a[i]; m=i; for ( j=i+1;jn;j++ ) if ( ka[j] ) { k=a[j]; m=j; }
if ( m!=i ) { a[m]=a[i]; a[i]=k; }
}
}
int search(int *a,int n,int x)
{ int i,j,k,ret;
i=0; j=n-1; ret=-1; if ( xa[i] || xa[j] ) i=j; if ( a[i]==x ) ret=i; else if ( a[j]==x ) ret=j;
while ( j-i1 ret0 )
{ k=i+j; k/=2; if ( a[k]x ) i=k; else j=k;
if ( a[i]==x ) ret=i; else if ( a[j]==x ) ret=j;
}
return ret;
}
void main()
{ int a[N],n,m;
printf("请输入%d个整数: ",N); input(a,N);
printf("原始数组: "); showarr(a,N);
sort(a,N);
printf("数组排序: "); showarr(a,N);
printf("\n折半查找\n请输入要查找的数字: "); scanf("%d",n);
m=search(a,N,n); if ( m=0 ) printf("%d是第%d个数。\n",n,m+1); else printf("%d不在数组中。\n",n);
}
参考:
第一题:A
第二题:A
第三题:B
第四题:B
第五题:B
第六题:A
第七题:A
第八题:A
第九题:D
第十题:B
第十一题:B
第十二题:D