admin管理员组文章数量:1794759
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语言,谢谢啦
我要举报
如果感觉以上信为低俗/不良/侵权的信,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯
版权声明:本文标题:c语言关于性别的程序,输入性别并记录男女个数还要算出男女平均年龄的c语言程序怎样写... 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686514623a76233.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论