输入10个学生5门课成绩,分别用函数求:
1)每个学生平均分;
2)每门课的平均分;
3)找出最高的分数所对应的学生和课程;
4)求平均分方差:,
xi为某一学生的平均分。
找到一个这个,. 可是在我的编译器里运行不了.报错. 我的是VC6.0 求哪位改一下可以正确运行出来..
#include<stdio.h>void main(){ int i,j,score[2][3]=((1,2,3)(2,3.4)),v[2],sum=0,average,max; max=a[0][0]; for(i=0;i<2;i++) { for(j=0;j<3;j++) { if(a[i][j]>max) { max=a[i][j]; } sum=sum+a[i][j]; } v[i]=sum/i; sum=0; } average=(v[0]+v[1]/3; printf("max=%d %d %d\n",a[i][j],i,j); printf("the 平均成绩是%d",v[i]); printf("每课平均成绩是%d\n",average); }
#include <stdio.h>
#include <math.h>
void aver_stu(int t[][5]); //定义学生平均分函数
void aver_course(int t[][5]); //定义课程平均分函数
void high(int t[][5]); //定义最高分函数
void vari(int t[][5]); //定义方差函数
int main()
{
int stu[10][5];
int i, j;
for (i=0; i<10; i++)
for (j=0; j<5; j++)
scanf("%d", &stu[i][j]); //输入10个学生各5门课的成绩
aver_stu(stu); //调用学生平均分函数
aver_course(stu); //调用课程平均分函数
high(stu); //调用最高分函数
vari(stu); //调用方差函数
return 0;
}
//学生平均分函数
void aver_stu(int t[][5])
{
int i, j;
float k, ave;
for (i=0; i<10; i++){
for (j=0, k=0.0; j<5; j++)
k+=t[i][j];
ave=k/5;
printf("No.%d student average is %f\n", i+1, ave);
}
}
//课程平均分函数
void aver_course(int t[][5])
{
int i, j;
float k, ave;
for (j=0; j<5; j++){
for (i=0, k=0.0; i<10; i++)
k+=t[i][j];
ave=k/10;
printf("No.%d course average is %f\n", j+1, ave);
}
}
//最高分函数
void high(int t[][5])
{
int i, j, h, stu, cour;
for (i=0, h=0, stu=0, cour=0; i<10; i++){
for (j=0, j<5; j++)
if (t[i][j]>h){
h=t[i][j];
stu=i+1;
cour=j+1;
}
}
printf("The highest score is %d, from No.%d student & No.%d course\n", h, stu, cour);
}
//方差函数
void vari(int t[][5])
{
int i, j, k, m;
float temp[10], var, x1, x2;
for (i=0, m=0; i<10; i++, m++){
for (j=0, k=0; j<5; j++)
k+=t[i][j];
temp[m]=k/5;
}
for (i=m=x1=x2=0; i<10; i++){
x1+=pow(temp[i], 2);
x2+=temp[i];
}
var=x1/10-pow(x2/10, 2);
printf("The variance is %f\n", var);
}
scanf()用法:
输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。
scanf("%s",s);改为scanf("%s",&s);
scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);
格式控制字符串包含:格式控制说明,普通字符。
1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)
2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d\n"中的fahr=,celsius=。
3、输入的参数是变量的地址,所以要在变量前面加&。