求最高分,最低分,平均分,按大小排序 ,及格/不及格人數
//求最高分,最低分,平均分,按大小排序 ,及格/不及格人數
#include<stdio.h>
int main()
{
int array[10];
int *pointer;
int i,j,t;
int sum=0,max,min;
double aver;
int num1=0,num2=0;
pointer=array;//指標指向資料,陣列名錶示陣列的首地址
printf("請輸入十個數:");
for(i=0;i<10;i++)
{
scanf("%d",pointer+i);//用指標迴圈輸入10個數
sum=sum+array[i];
}
aver=sum/10;
printf("\n平均分:%.1f\n",aver);
//氣泡排序
for(i=0;i<10;i++)
{
for(j=0;j<10-i-1;j++)
{
if(array[j]>array[j+1])
{
t=array[j];
array[j]=array[j+1];
array[j+1]=t;//兩個數的交換
}
}
}
//最高分,最低分
max=array[0];
min=array[0];
for(i=1;i<10;i++)
{
if(max<array[i])
max=array[i];
if(min>array[i])
max=array[i];
}
printf("\n最高分是:%d\n最低分:%d\n",max,min);
printf("array[10]:");
for(i=0;i<10;i++)
printf("%5d",*(pointer+i));//用指標迴圈輸出10個數
//計算及格人數,不及格人數
for(i=0;i<10;i++)
{
if(array[i]<60)
num1++;//num1表示不及格人數
else
num2++;//表示及格人數
}
printf("\n及格人數:%d, 不及格人數:%d\n",num2,num1);
printf("\n");
}
效果: