Last active
December 10, 2015 16:05
-
-
Save peter279k/e0359a8dcfa7f524d2fa to your computer and use it in GitHub Desktop.
成績系統v2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
int main() | |
{ | |
//print my title | |
printf("*************************************************"); | |
printf("\t\t\t\t*"); | |
printf("\t\t成績計算系統<v2>"); | |
printf("\t\t*\n"); | |
printf("*************************************************\n\n"); | |
int number = 0; | |
printf("學生數: "); | |
scanf("%d", &number); | |
int arr[number]; | |
int counter = 0; | |
int temp = 0; | |
printf("\n請分別輸入%d位同學的成績\n\n", number); | |
for(;counter<number;counter++) | |
{ | |
printf("同學%d成績為: ", (counter + 1)); | |
scanf("%d", &temp); | |
arr[counter] = temp; | |
} | |
//get max number | |
counter = 0; | |
int max = 0; | |
int min = 0; | |
int sum = 0; | |
float average = 0.0; | |
for(;counter<number;counter++) | |
{ | |
max = get_max(arr[counter], max); | |
} | |
counter = 0; | |
min = arr[0]; | |
//get min number | |
for(;counter<number;counter++) | |
{ | |
min = get_min(arr[counter], min); | |
} | |
counter = 0; | |
//get average number | |
for(;counter<number;counter++) | |
{ | |
sum += arr[counter]; | |
} | |
average = (float)sum / (float)number; | |
//get range | |
int q_range[4] = {0,0,0,0}; | |
counter = 0; | |
for(;counter<number;counter++) | |
{ | |
if(arr[counter]>=76 && arr[counter]<=100) | |
q_range[0] += 1; | |
else if(arr[counter]>=51 && arr[counter]<=75) | |
q_range[1] += 1; | |
else if(arr[counter]>=26 && arr[counter]<=50) | |
q_range[2] += 1; | |
else | |
q_range[3] += 1; | |
} | |
//print result | |
printf("\n"); | |
printf("A.Q1: %d人, Q2: %d人, Q3: %d人, Q4: %d人\n",q_range[0],q_range[1],q_range[2],q_range[3]); | |
printf("B.最高分: %d\n", max); | |
printf("C.最低分: %d\n", min); | |
printf("D.平均成績: %.1f", average); | |
printf("\n\n"); | |
printf("P.S.: Q1: 76-100分, Q2: 51-75分, Q3: 26-50分, Q4: 0-25分"); | |
return 0; | |
} | |
int get_max(int num, int num2) | |
{ | |
if(num> num2) | |
return num; | |
else if(num2 > num) | |
return num2; | |
else | |
return num; | |
} | |
int get_min(int num, int num2) | |
{ | |
if(num < num2) | |
return num; | |
else if(num2 < num) | |
return num2; | |
else | |
return num; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment