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语言程序怎样写...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开题:轴承的剩余寿命预测(为什么要长时间
- 下一篇: 爱视直播网络电视 v07.0201.01