admin管理员组

文章数量:1794759

c语言关于性别的程序,输入性别并记录男女个数还要算出男女平均年龄的c语言程序怎样写...

c语言关于性别的程序,输入性别并记录男女个数还要算出男女平均年龄的c语言程序怎样写...

输入性别并记录男女个数还要算出男女平均年龄的c语言程序怎样写

答案:2  信版本:手机版

解决时间 2019-10-05 17:37

已解决

2019-10-05 00:19

输入性别并记录男女个数还要算出男女平均年龄的c语言程序怎样写

最佳答案

2019-10-05 01:24

#include "stdio.h"

typedef struct person

{

int sex;

int age;

}person,*pperson;//人

typedef struct man

{

int num;

float avg;

struct man()

{

num = 0;

avg = 0;

}

}man;//男性

typedef struct woman

{

int num;

float avg;

struct woman()

{

num = 0;

avg = 0;

}

}woman; //女性

void main()

{

person ps;

man m;

woman wm;

char c;

while (scanf("%d %d",&(ps.sex),&(ps.age))&&((c=getchar())!='Q'))//当输入字符Q时退出显示

{

if (ps.sex == 0)//输入的sex是0时表示男性

{

m.num++;

m.avg =1.0*(m.avg*(m.num-1)+ps.age)/m.num;

}

else //其他表示女性

{

wm.num++;

wm.avg =1.0*(wm.avg*(wm.num-1)+ps.age)/wm.num;

}

}

printf("man num:%d avg:%.3f

woman num:%d age:%.3f

",m.num,m.avg,wm.num,wm.avg);

return;

}

追问可以用switch语句写吗?追答if (ps.sex == 0)//输入的sex是0时表示男性

{

m.num++;

m.avg =1.0*(m.avg*(m.num-1)+ps.age)/m.num;

}

else //其他表示女性

{

wm.num++;

wm.avg =1.0*(wm.avg*(wm.num-1)+ps.age)/wm.num;

}

改为:

switch (ps.sex)

{

case 0:

m.num++;

m.avg =1.0*(m.avg*(m.num-1)+ps.age)/m.num;

break;

default:

wm.num++;

wm.avg =1.0*(wm.avg*(wm.num-1)+ps.age)/wm.num;

break;

}追问可以查看哈我这个程序那点错了吗?我的目的是统计男女人数以及计算它们的平均年龄,同时计算他们分配的房间数(2人一间房)谢谢啦!些简单一点,我们这学期才开始学C语言,谢谢!

、、、、、、

全部回答

1楼

2019-10-05 02:03

这样可以吗:

#includeint main(){

int m=0,f=0,a;

char s;

float ma=0,fa=0;

printf("性别(m/f) 年龄(0-结束): ");

scanf("%c %d",&s,&a);

while(a>0){

if(s=='M' || s=='m'){

m++;

ma+=a;

}else{

f++;

fa+=a;

}

fflush(stdin);

printf("性别(m/f) 年龄(0-结束): ");

scanf("%c %d",&s,&a);

}

printf("男性人数:%d,平均年龄:%.2f\\n",m,ma/m);

printf("女性人数:%d,平均年龄:%.2f\\n",f,fa/f);

return 0;

}追问嗯,对不起,忘记说了,要用switch语句写追答#includeint main(){

int m=0,f=0,a;

char s;

float ma=0,fa=0;

printf("性别(m/f) 年龄(0-结束): ");

scanf("%c %d",&s,&a);

while(a>0){

switch(s){

case 'M':

case 'm':

m++;

ma+=a;

break;

case 'F':

case 'f':

f++;

fa+=a;

break;

default:

printf("输入错误,重新输入。\\n");

}

fflush(stdin);

printf("性别(m/f) 年龄(0-结束): ");

scanf("%c %d",&s,&a);

}

printf("男性人数:%d,平均年龄:%.2f\\n",m,ma/m);

printf("女性人数:%d,平均年龄:%.2f\\n",f,fa/f);

return 0;

}追问可以再帮我写一个程序吗?我的目的是统计男女人数以及计算它们的平均年龄,同时计算他们分配的房间数(2人一间房)谢谢啦!些简单一点,我们这学期才开始学C语言,谢谢啦

我要举报

如果感觉以上信为低俗/不良/侵权的信,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

本文标签: 男女语言程序个数性别