#include<stdio.h>
#define N 2//n是人數,M是科目數
#define M 3
float score[N][M];
float a_stu[N];
float a_cour[M];
int a, b;//標記最高分的位置
int main()
{
int i, m;
float h;
void input_stu(void);
void aver_stu(void);//學生平均分
void aver_cour(void);//科目平均分
float highest(void);//求成績最大,和對應的人和科目
float fancha(void);//方差
input_stu();
aver_stu();
aver_cour();
printf("student cour1 cour2 cour3 aver \n");
for (i = 0; i < N; i++)
printf("\n%5d",i + 1);
{
for (m = 0; m < M; m++)
printf(" %8.2f",score[i][m]);
printf(" %8.2f\n",a_stu[i]);
}
for (m = 0; m < M; m++)
printf("course%d aver:%f\n", m + 1, a_cour[m]);
h = highest();
printf("student%d'scour%d highese socre :%f", a, b, h);
return 0;
}
void input_stu(void)
{
int i,m;
for (i = 0; i < N; i++)
{
printf("\ninput student%d's score\n",i + 1);
for (m = 0; m < M; m++)
scanf_s("%f",&score[i][m]);
}
}
void aver_stu(void)
{int i,m;
float sum = 0, aver;
for (i = 0; i < N; i++)
{
for (m = 0; m < M; m++)
{
sum = sum + score[i][m];
}
a_stu[i] = sum /(float)M;
}
}
void aver_cour(void)
{
int i, m;
float sum = 0, aver;
for (i = 0; i < M; i++)
{
for (m = 0; m < N; m++)
{
sum = sum + score[i][m];
}
a_cour[i] = sum /(float)N;
}
}
float highest()
{
int i, m;
float high;
high = score[0][0];
for (i = 0; i < M; i++)
{
for (m = 0; m < N; m++)
{
if (high > score[i][m])
{
high = score[i][m];
b + 1;
}
a + 1;
}
return(high);
}
}
float fancha(void)
{
int i, m;
float n, sum = 0;
for (i = 0; i < N; i++)
{
for (m = 0; m < M; m++)
sum = sum + (score[i][m] - a_stu[N]) * (score[i][m] - a_stu[N]);
}
n = sum / N;
return (n);
}
uj5u.com熱心網友回復:
沒出錯,程式運行到最后一句的后面,正常退出了。
uj5u.com熱心網友回復:
它沒有我想要的結果
uj5u.com熱心網友回復:
輸出成績那里就開始錯了
uj5u.com熱心網友回復:
沒出錯,程式運行到最后一句的后面,正常退出了。
它沒有我想要的結果
它??說陣列那里出了點問題
uj5u.com熱心網友回復:
這個float highest ()函式有問題,修改如下,供參考:
float highest ()
{
int i,m;
float high;
high = score[0][0];
for (i =0;i <N;i++)
{
for (m =0;m <M;m ++)
if (high <score [i][m])
{
high = score [i][m];
b = m;
a = i;
}
}
return high;
}
uj5u.com熱心網友回復:
再仔細看了下,void aver _cour (void)函式里面,兩個for ()回圈的條件里,M N 放錯位置了,外面for (i=0;i<N;i ++)應該是N吧,里面for(m=0;m<M;m ++)應該是M 吧。
眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......
值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......