利用一维数组存储由键盘输入10个学生的成绩,分别统计优、良、中、及格、不及格的人数。

如题所述

#include<stdio.h>
void main()
{
int i,a[5];
float score[10];
for(i=0;i<10;i++)
scanf("%f",&score[i]);
for(i=0;i<10;i++)
a[i]=0;
for(i=0;i<10;i++)
{
if(score[i]>=85)
a[0]++;
if(score[i]>=75&&score[i]<85)
a[1]++;
if(score[i]>=65&&score[i]<75)
a[2]++;
if(score[i]>=60&&score[i]<65)
a[3]++;
if(score[i]<60)
a[4]++;
}
printf("等级为优的人数为%d\n",a[0]);
printf("等级为良的人数为%d\n",a[1]);
printf("等级为中的人数为%d\n",a[2]);
printf("等级为及格的人数为%d\n",a[3]);
printf("等级为不及格的人数为%d\n",a[4]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-17
正好我最近在学习C++,试着做了一下,自己试了一下,可以运行的,没有判断输入的成绩范围,希望对你有帮助。
#include "iostream.h"
int main()
{
int cj[10],c1=0,c2=0,c3=0,c4=0,c5=0,i;
cout<<"请依次输入学生成绩(0~100):"<<endl;
for (i=0;i<10;i++)
cin>>cj[i];
for (i=0;i<10;i++)
{
if (cj[i]>=90)
c1++;
else if (cj[i]>=80)
c2++;
else if (cj[i]>=70)
c3++;
else if (cj[i]>=60)
c4++;
else
c5++;
}
cout<<"成绩为优的人数为: "<<c1<<endl;
cout<<"成绩为良的人数为: "<<c2<<endl;
cout<<"成绩为中的人数为: "<<c3<<endl;
cout<<"成绩及格的人数为: "<<c4<<endl;
cout<<"成绩不及格的人数为:"<<c5<<endl;
return 1;
}
第2个回答  2010-12-17
#include<stdio.h>
main()
{
int data[10];
int i;
int y=0,l=0,z=0,c=0;
for(i=1;i<=10;i++)
{
printf("Please write NO.%d's data:",i);
scanf("%d",&data[i]);
fflush(stdin);
}
for(i=1;i<=10;i++)
{
if(data[i]<=60)
c++;
else if(60<data[i<=70])
z++;
else if(70<data[i]<=80)
l++;
else if(80<data[i]<=100)
y++;
}
printf("优秀有%d人!",y);
printf("良好有%d人!",l);
printf("中等有%d人!",z);
printf("差有%d人!",c);
}
第3个回答  2010-12-17
#include <stdio.h>
#define NUM 10
void main()
{
int score[NUM] ;
int i , a , b , c , d , e ;
a = b = c = d = e = 0 ;

printf("请输入10名学生的成绩 : \n" );

for(i = 0 ; i < NUM ; i++)
scanf("%d" , &score[i]);

for(i = 0 ; i < NUM ; i++)
{
switch( score[i] / 10 )
{
case 10 :
case 9 : a++ ; break ;
case 8 : b++ ; break ;
case 7 : c++ ; break ;
case 6 : d++ ; break ;
default : e++ ;
}
}
printf("得优人数 : %d \n" , a ) ;
printf("得良人数 : %d \n" , b ) ;
printf("得好人数 : %d \n" , c ) ;
printf("及格人数 : %d \n" , d ) ;
printf("不及格人数 : %d " , e ) ;
printf("\n");
getch();
}本回答被提问者和网友采纳