某学校新生入学时,需报选体育选修项目,包括篮球,排球,体操,乒乓球,网球,请为某班级(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
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;
}
//---------------------------------------------------------------------------本回答被网友采纳
#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
没分数的