求一个C语言程序怎么样编写

某学校新生入学时,需报选体育选修项目,包括篮球,排球,体操,乒乓球,网球,请为某班级(30人)统计报选各体育科目人数。
要采用switch和for结构
请高手指教

第1个回答  2007-10-01
#include<stdio.h>

int n=30;
int basketball,volleyball,gym,pingpong,tennis;

int main()
{
char x;
int i;

for (i=1;i<=30;i++)
{
scanf("%d",&x); //输入每位同学的选修项目
switch (x)
{
case 'b':basketball++;break; // 篮球人数加1
case 'v':volleyball++;break; // 排球人数加1
case 'g':gym++;break; // 体操人数加1
case 'p':pingpong++;break; // 乒乓人数加1
case 't':tennis++;break; // 网球人数加1
}
}

printf("basketball=%d volleyball=%d gym=%d pingpong=%d tennis=%d\n",basketball,volleyball,gym,pingpong,tennis);

return 0;
}

PS:case语句要注意:每个判断后要加break
第2个回答  2007-10-01
//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
enum sport {basketball,volleyball,gym,pingpong,tennis_ball};
typedef enum sport sport;
void input(sport *stud)
{
int i;
char k;
printf("Input the frist letter (b\\v\\g\\p\\t):\n");
for (i = 0; i<30; i++) {
printf("No.%-2d:",i+1);
fflush(stdin);
scanf("%c",&k);
switch (k) {
case 'b':stud[i]=basketball;break;
case 'v':stud[i]=volleyball;break;
case 'g':stud[i]=gym;break;
case 'p':stud[i]=pingpong;break;
case 't':stud[i]=tennis_ball;break;
}
}
}
int main(int argc, char* argv[])
{
int i,b=0,v=0,g=0,p=0,t=0;
sport student[80];
input(student);

for (i=0; i<30; i++) {

switch (student[i]) {
case basketball:b++;break;
case volleyball:v++;break;
case gym:g++;break;
case pingpong:p++;break;
case tennis_ball:t++;break;
}
}
printf("basketball:%d\n",b);
printf("volleyball:%d\n",v);
printf("gym:%d\n",g);
printf("pingpong:%d\n",p);
printf("tennis_ball:%d\n",t);
system("pause");
return 0;
}
//---------------------------------------------------------------------------本回答被网友采纳
第3个回答  2007-10-01
没分数的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网