对某班所有学生的高数成绩按成绩由高到底进行排序,统计其平均成绩、每个分数段的学生人数(>90分,80-89分,70-79分,60-69分,<60分),并根据分数段输出每个学生成绩所在等级(>90分:优秀,80-89分:良好,70-79分:中等,60-69分:及格,<60分:不及格)
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
#include <stdio.h>
void sort(int array[],int n)
{
int i,j,k,t;
for(i = 0;i < n-1;i ++)
{
k = i;
for(j = i + 1;j < n;j ++)
{
if(array[k] < array[j])
{
k = j;
}
}
t = array[k];
array[k] = array[i];
array[i] = t;
}
}
void main()
{
int n,i;
printf("输入成绩的个数n:");
scanf("%d", &n);
int a[n];
float sum = 0.0;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
sum += a[i];
}
printf("平均成绩:%.2f", sum/n);
sort(a,n);
int sa = 0,sb = 0,sc = 0,sd = 0,se = 0;
for(i=0;i<n;i++){
printf("\n%d ",a[i]);
if (a[i]>=90) {
printf("优秀");
sa++;
} else if (a[i]>=80) {
printf("良好");
sb++;
} else if (a[i]>=70) {
printf("中等");
sc++;
} else if (a[i]>=60) {
printf("及格");
sd++;
} else{
printf("不及格");
se++;
}
}
printf("\n优秀人数:%d, 良好人数:%d, 中等人数:%d, 及格人数:%d, 不及格人数:%d",sa,sb,sc,sd,se);
}
/* Note:Your choice is C IDE */
#include "stdio.h"
//输入
void input(int a[10]){
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
}
//冒泡排序
void choose(int a[10]){
int i,j,temp;
for(i=1;i<10;i++)
{
for(j=9;j>=i;j--)
{
if(a[j]>a[j-1]){
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
//输出
/*统计其平均成绩、每个分数段的学生人数(>90分,80-89分,70-79分,60-69分,<60分),并根据分数段输出每个学生成绩所在等级(>90分:优秀,80-89分:良好,70-79分:中等,60-69分:及格,<60分:不及格)
*/
void output(int a[10]){
int i;
float sum = 0;
for(i=0;i<10;i++) {
sum += a[i];
if(a[i]>90)
printf("优秀\n");
else if(a[i]>=80 && a[i]<=89)
printf("良好\n");
else if(a[i]>=70 && a[i]<=79)
printf("中等\n");
else if(a[i]>=60 && a[i]<=69)
printf("及格\n");
else
printf("不及格\n");
}
printf("\n平均分:%0.2f",sum/10);
}
void main()
{
int a[10];
//输入
input(a);
//冒泡排序
choose(a);
//输出
output(a);
}
代码如下:
#include <stdio.h>
//排序
void sort(int a[],int n)
{
int i,j,t;
for (i=0;i<n-1;i++)
{
for (j=0;j<n-i-1;j++)
{
if(a[j] < a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] =t;
}
}
}
}
//平均成绩
float avg(int a[],int n)
{
int i;
float s = 0;
for (i=0;i<n;i++)
{
s += a[i];
}
return s/n;
}
//统计
void Tongji(int a[],int n)
{
int i;
int A=0,B=0,C=0,D=0,E=0;
for (i=0;i<n;i++)
{
switch(a[i]/10)
{
case 10:
case 9:
A++;
printf("优秀\n");
break;
case 8:
B++;
printf("良好\n");
break;;
case 7:
C++;
printf("中等\n");
break;
case 6:
D++;
printf("及格\n");
default:
E++;
printf("不及格\n");
break;
}
}
printf(">90分人数:%d\n",A);
printf(">80-89分人数:%d\n",B);
printf(">70-79分人数:%d\n",C);
printf(">60-69分人数:%d\n",D);
printf("<60分人数:%d\n",E);
}
int main()
{
int n,a[100],i;
printf("请输入人数:");
scanf("%d",&n);
printf("请输入%d个学生的成绩:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
//排序
sort(a,n);
printf("排序后:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
printf("平均分:%.2f\n",avg(a,n));
Tongji(a,n);
return 0;
}