输入性别并记录男女个数还要算出男女平均年龄的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语言程序怎样写...相关推荐

  1. java数组输入一个实数_用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和......

    导航:网站首页 > 用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和... 用java!!输入五个数,保存到一个数组中,然后将... C ...

  2. java中double身高_用JAVA编一个程序 输入10名同学的身高,找出最高升高,要求使用对象数组类型的带参方法来实现...

    用JAVA编一个程序 输入10名同学的身高,找出最高升高,要求使用对象数组类型的带参方法来实现 关注:285  答案:5  mip版 解决时间 2021-02-05 07:44 提问者女人不需要倾国倾 ...

  3. 122345 java_【每天算法2】:用java语言实现,一个组数:122345这6个数,打印出它所有可能的组合;要求4不能在第3位,3和5不能相连。 | 学步园...

    一个组数:122345这6个数,打印出它所有可能的组合:要求4不能在第3位,3和5不能相连. 我在实现这个 感觉我的算法复杂度还是挺高的.过程中,不断的创建新的数组列别. 如果你有更好的算法,请发上来 ...

  4. C++编程题-职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来

    题目描述 职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来. 输入描述: 输入第一行包括1个整数N,1<=N<=30,代表输入数据的个数. 接下来的N行有N个职 ...

  5. C#使用控制台输入三个整数,使用三目运算符算出最大值

    使用控制台输入三个整数,使用三目运算符算出最大值 Console.WriteLine("请输入第一个数字");int a = int.Parse(Console.ReadLine( ...

  6. python 64位程序 打包用于32位系统_python分别打包出32位和64位应用程序

    由于我们分发的python应用可能运行在64位环境,也可能运行在32位环境,所以我们需要为同一套应用代码配置两套打包环境,怎么配置? 步骤如下 1,在电脑上分别下载安装32位和64位的python,安 ...

  7. a除以b的编程怎么写C语言,输入a,b两个整数,编程求出a除以b得到的商和余数.c语言...

    C语言编程问题 编程任意输入两个实数a和b,计算下面函数的值,并输出y值. a-b a>b y= a/b a #includevoidmain(){\x09floata,b,y;\x09prin ...

  8. 内存不能为read和无法定位程序输入点 +@于动态链接库上

    内存不能为read和无法定位程序输入点 +@于动态链接库上 2011年06月13日 查看文章 写新文章 内存不能为read和无法定位程序输入点 +@于动态链接库上 2011-06-13 05:41 最 ...

  9. linux 无法定位程序,三步搞定无法定位程序输入点 于动态链接库上

    三步搞定无法定位程序输入点 于动态链接库上 发布时间:2018-09-17 09:24 来源:互联网 当前栏目:电脑教程 上网的时候突然咚的一声弹出一个错误提示框,上边写着 iexplore.exe ...

  10. C#语法 “控制台“输入三个‘整数‘“,使用<三目运算符>算出最大值

    using System; namespace stars { class Program { static void Main(string[] args) { Console.WriteLine( ...

最新文章

  1. 《社交网站界面设计(原书第2版)》——2.13 不要中断电子邮件
  2. docker获取镜像很慢解决办法
  3. 为JS和C#类加一个扩展方法吧:P
  4. python编程入门指南怎么样-Python 应该怎么学?
  5. 为什么「道理都懂,然而执行力差」的现象如此普遍?
  6. 添加chorme插件时出现“程序包无效”
  7. python标准类型内建模块_Python内建模块struct实例详解
  8. USTC English Club Note20171013(6)
  9. ListView几个比较特殊的属性
  10. 艰苦的网购火车票,周末可以不用再秒杀余票了
  11. [数学][欧拉降幂定理]Exponial
  12. 【博主推荐】html好看的个人简历网页版(附源码)
  13. 超声波传感器闪光|乐高EV3教学
  14. Eclipse启动时f出现ail to create Java Virtual Machine问题的解决
  15. 可视化第一部分(简单的图形)
  16. python2.7+PyQt4对接速码接码平台
  17. 怎么把视频拼接在一起?这款操作简单的软件值得拥有
  18. Android截屏和录屏Demo
  19. 2021年计算机保研(中科院网络信息中心+南开+北师大ai+北理网安+北交计院)
  20. 写作业用白光还是暖光?盘点色温4000K的护眼台灯

热门文章

  1. 元气骑士怎么用电脑玩 元气骑士手游模拟器教程
  2. pacman 查询_archlinux pacman常用命令
  3. 渐变背景怎么搞?2分钟教你制作渐变背景
  4. 关于动态路由OSPF原理、报文
  5. 基于html评定奖学金页面代码,学校助学奖学金申请表页面模板
  6. 南方航空认沽权证21日上市 初始行权价为7.43元
  7. 百度ORC识别身份证,JXL导出信息到excel流水作业。
  8. Flux、Mono、Reactor 实战(史上最全)
  9. 什么是标签?跟数据中台有什么关系?
  10. python星号怎么输入_如何将密码显示为星号