Skip to content

Instantly share code, notes, and snippets.

@peter279k
Last active December 10, 2015 16:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peter279k/e0359a8dcfa7f524d2fa to your computer and use it in GitHub Desktop.
Save peter279k/e0359a8dcfa7f524d2fa to your computer and use it in GitHub Desktop.
成績系統v2
#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