int main() { int i,j; float h; input_stu(); aver_stu(); aver_cour(); printf("\n NO. cour1 cour2 cour3 cour4 cour5 aver \n"); for(i=0;i<N;i++) { printf("\n NO %2d",i+1); for(j=0;j<M;j++) printf("%8.2f",score[i][j]); printf("%8.2f\n",a_stu[i]); } printf("naverage:"); for (j=0;j<M;j++) printf("%8.2f",a_cour[j]); printf("\n"); h=highest(); printf("highest:%7.2f NO. %2d course %2d\n",h,r,c); printf("variance %8.2f\n",s_var()); return 0; }
int main(void) { int i,j; float h; input_stu(); aver_stu(); aver_cour(); for(i=0;i<N;i++) { printf("第%d名学生的平均成绩为:%8.2f",a_stu[i]); } for(j=0;i<M;j++) { printf("第%d门课程的平均成绩为:%8.2f",a_cour[j]); } h=highest(); printf("最高分数是学生%d在课程%d中所取得的%8.2f分\n",r,c,h); printf("方差为%8.2f",s_var()); return 0; }
int main() { int i,j; float h; input_stu(); aver_stu(); aver_cour(); printf("NO. 课程1 课程2 课程3 课程4 课程5 平均\n"); for(i=0;i<N;i++) { printf("\n NO %2d",i+1); for(j=0;j<M;j++) printf("%8.2f",score[i][j]); printf("%8.2f\n",a_stu[i]); } printf("\naverage:"); for(j=0;j<M;j++) printf("%8.2f",a_cour[j]); printf("\n"); h=highest(); printf("最高分:%7.2f NO.%2d course %2d\n",h,r,c); printf("平均分方差:%8.2f\n",s_var()); return 0; }
Parabol::Parabol(double x[3], double y[3]) : s_det(0), s_dxzero(0) { mfunname("Parabol::Parabol(double x[3], double y[3])"); check_econd12a(x[0], ==, x[1], "x[2]=" << x[2] << " y[0]=" << y[0] << " y[1]=" << y[1] << " y[2]=" << y[2] << '\n', mcerr); check_econd12a(x[0], ==, x[2], "x[1]=" << x[1] << " y[0]=" << y[0] << " y[1]=" << y[1] << " y[2]=" << y[2] << '\n', mcerr); check_econd12a(x[1], ==, x[2], "x[0]=" << x[0] << " y[0]=" << y[0] << " y[1]=" << y[1] << " y[2]=" << y[2] << '\n', mcerr); DynArr<DoubleAc> mat(3, 3); DynLinArr<DoubleAc> par(3); DynLinArr<DoubleAc> f(3); for (int i = 0; i < 3; ++i) { f[i] = y[i]; mat.ac(i, 2) = 1.0; mat.ac(i, 1) = x[i]; mat.ac(i, 0) = x[i] * x[i]; } int ierr; int szero; DynArr<DoubleAc> mat_inv; inverse_DynArr_prot(mat, mat_inv, szero, ierr); //check_econd11a( ierr, != 0 , "should never happen\n", mcerr ); if (ierr == 0) { par = mat_inv * f; //Iprintdla_DoubleAc(mcout, par, 3); //if(fabs(par[0]) == 0.0) // da=0.0; //else // da=par[0]; da = par[0]; db = par[1]; dc = par[2]; } else { da = 0.0; DynLinArr<int> s_var(3); s_var[0] = 0; s_var[1] = 1; s_var[2] = 1; DynArr<DoubleAc> mat_inv1(3, 3); //int ierr1; //inverse_DynArr(mat, s_var, mat_inv, ierr, mat_inv1, ierr1); inverse_DynArr_prot(mat, s_var, mat_inv, szero, ierr); if (ierr != 0) { // what if x1 and x2 are the same but the both differ from x0 // Then the following should help: mat.ac(1, 1) = mat.ac(0, 1); mat.ac(1, 2) = mat.ac(0, 2); f[1] = f[0]; s_var[0] = 0; s_var[1] = 1; s_var[2] = 1; inverse_DynArr_prot(mat, s_var, mat_inv, szero, ierr); check_econd11a(ierr, != 0, "should never happen\nmat=" << mat << "\ns_var=" << s_var << "\nmat_inv=" << mat_inv, mcerr); } par = mat_inv * f; db = par[1]; dc = par[2]; }