引用:
作者: leowang
這是我寫的 我先用一維陣列 加入第二個學生(參數)就錯誤ㄌ
[php]
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int i, sum = 0,sum1 = 0;
int ...
|
你的程式少了一個 ; 號,在這一行 scores2[2] = 63 的地方當然會錯。
程式還能改寫成以下
語法:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j, max[2] = {0}, sum[5] = {0};
int scores[][3] = {{60,50,81},{49,70,63},{70,33,55},{63,64,54},{83,87,76}};
for ( i = 0; i < 5; i++)
for ( j = 0; j < 3; j++)
{ sum[i] += scores[i][j]; }
max[0] = sum[0];
for ( i = 0; i < 5; i++)
{
for ( j = 0; j < 5; j++)
{
if ( max[0] < sum[i] )
{
max[0] = sum[i];
max[1] = i;
}
}
}
printf(" 學 號│數學│ C │英文│總分\n" );
for ( i = 0; i < 5; i++)
{
printf("%7d│", 800701+i);
for ( j = 0; j < 3; j++)
{ printf("%3d │", scores[i][j]); }
printf("%3d\n",sum[i]);
}
printf("\n最高者 : %d",800701+max[1]);
getchar();
return 0;
}
想想看跟你得程式跟我改寫的有何差異 ...,
陣列給初值不用那麼麻煩,一個一個給,可以向變數一樣在宣告時就指定。
ex:
int FF[5] = {0}; 表示該 FF 陣列初值為 0
int AB[3] = {60,50,81}; 表示該 AB 陣列初值依序為 60, 50 ,81
int CD[2][3] = {{60,50,81},{49,70,63}}; 表示該 CD 陣列初值依序為 60, 50, 81, 49, 70, 63
mini 大的是一種叫做結構的語方式,我推測你應該是還沒學到這種
結構的好處可以把好幾種不同性質的資料包成一包。