#include <stdio.h>
int main()
{
float C,M,E,S,A;
printf("please input C M E\n");
scanf("%f,%f,%f",&C,&M,&E);
S=C+M+E;
A=(C+M+E)/3.0;
printf("三门课程总成绩S=%0.2f\n三门课程平均成绩A=%0.2f\n",S,A);
return 0;
}
#include <stdio.h>
#if 1
float CheckSum(float *Course,int CourseNum)
{
int i;
float ScoreSum;
for(i = 0 ; i<CourseNum ; i++)
ScoreSum += Course[i];
return ScoreSum;
}
float CheckAvrg(float *Course,int CourseNum)
{
float ScoreAvr = 0;
float ScoreSum = 0;
ScoreSum = CheckSum(Course,CourseNum);
printf("课程总成绩:%0.2f\n",ScoreSum);
ScoreAvr = ScoreSum/CourseNum;
return ScoreAvr;
}
int Partition(float *Array,int i,int j)
{
float median;
median=*(Array+i);
while(i<j)
{
while(i<j&&*(Array+j)>=median)
j--;//从右向左扫描,直到找到第一个小于median的Array[j]
*(Array+i)=*(Array+j);
while(i<j&&*(Array+i)<=median)
i++;//从左向右扫描,直到找到第一个大于median的Array[i]
*(Array+j)=*(Array+i);
}
*(Array+i)=median;//最后定位基准位置
return i;
}
float CheckSort(float *Array,int l,int h)
{
int mid;
if(l<h)
{
mid=Partition(Array,l,h);
CheckSort(Array,l,mid-1);
CheckSort(Array,mid+1,h);
}
}
int CheckPass(float *Course,int CourseNum)
{
int i;
int NoPass = 0;
for(i = 0 ; i<CourseNum ; i++)
{
if(Course[i]<60.0)
{
NoPass++;
}
}
printf("不及格课程数:%d\n",NoPass);
}
int main()
{
int i,j,CourseNum;
float Course[18];
float Cour[18];
printf("请输入课程数量:");
scanf("%d",&CourseNum);
if(CourseNum<=0||CourseNum>18)
{
printf("输入课程数应小于18门!\n");
printf("请重新输入课程门数:");
scanf("%d",&CourseNum);
}
printf("请输入课程分数:");
for(i=1;i<=CourseNum;i++)
scanf("%f",(Cour+i));
for(i=1;i<=CourseNum;i++)
Course[i-1] = Cour[i];
printf("计算中......:\n");
printf("课程平均成绩:%0.2f\n",CheckAvrg(Course,CourseNum));
CheckPass(Course,CourseNum);
printf("\n课程成绩排序:\n");
CheckSort(Cour,1,CourseNum);
for(i=CourseNum,j=1;i>=1;i--,j++)
printf("成绩排名%d: %0.2f\n",j,Cour[i]);
printf("\n");
return 0;
}
#endif