
這個程式是我在高中為了大學入學申請 而寫出來的
有需要的人,可以 [按我下載]
使用方法如下
一開始程式會提示你:Enter Number of Subjects
要你輸入,一共要處理幾科的成績。
這邊一共有六個科目要輸入,所以打"6"
(範例圖檔,沒有抓到"6"那個地方..請見諒)
接著是各科輸入
其中Enter Score for Subject[*]
是要你輸入各科的成績
Enter Weight for Subject[*]
是要你輸入各科的加權
當你輸入完各科成績和加權之後
電腦就會開始做相關計算
接著,這就是計算後的結果
Total:總成績
Total(Weighted):加權後總成績
Average:平均
Flunked:被當掉的科目數
Standard Deviation:標準差
最後,
如果其中有一科高出平均值一個標準差
會提示你「** You did a good job on subject[*]」
如果其中有一科低於平均值一個標準差
會提示你「** You should improve your subject[*]」
以上就是使用說明
祝大家使用愉快~~~
以下是程式碼
用最最陽春的方法寫出來的
我想當初審核資料的教授應該會傻眼....不過也應該也是無奈的包容我了.........|||
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
clrscr();
int a,b=0,g,sum=0,sum1=0,sum2=0,v,w,x,y,z,array[10],test[10];
double pre1,pre2;
//輸入科目數,如果輸入數值不合要重打
for(a=0;a<=32767;a++)
{
printf("Enter Number of Subjects (2~10) :");
scanf("%d",&g);
if(g<=1)
continue;
else if(g>=11)
continue;
else
break;
}
//開始輸入分數和加權
for(a=1;a<=g;a++)
{
printf("\n\nEnter Score for Subject[%d]:",a);
scanf("%d",&array[a]);
if(array[a]<=59
)
b=b+1;
printf("Enter Weight for Subject[%d]:",a);
scanf("%d",&test[a]);
}
//開始處理輸入後的資料(加總.乘以加權.準備需要的變數)
for(a=1;a<=g;a++)
{
sum1 += array[a];
sum += array[a]*test[a];
sum2 += array[a]*array[a];
}
//開始算標準差
v=sum1/g;
w=v*v;
x=g*w;
y=sum2-x;
z=g-1;
pre1=y/z;
pre2=sqrt(pre1);
clrscr();
//輸出結果
printf("\n\n===R E S U L T===========");
printf("\n\nTotal:%d",sum1);
printf("\n\nTotal(Weighted):%d",sum);
printf("\n\nAverage:%d",v);
printf("\n\nFlunked:%d",b);
printf("\n\nStandard Deviation:%lf",pre2);
printf("\n\n==========================");
//準備判斷突出或較弱的科目
int pre3=v-pre2;
int pre4=v+pre2;
//防止因為標準差太低而對成績做出錯誤的解釋
if(pre2<=5)
goto wait;
//依序檢查每個成績是否高於平均一個標準差,並輸出結果為"突出"
for(a=1;a<=g;a++)
{
if(array[a]>=pre4)
printf("\n\n** You did a good job on subject [%d]! **",a);
}
//依序檢查每個成績是否低於平均一個標準差,並輸出結果為"需加強"
for(a=1;a<=g;a++)
{
if(array[a]<=pre3)
printf("\n\n** You should improve your subject [%d]! **",a);
}
wait:
getch();
clrscr();
printf("\n\nThank you for using!!\n\nComposed by Meng-Luen Wu");
getch();
}