生活随笔
收集整理的這篇文章主要介紹了
男生女生(C语言)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
7-3 男生女生 (10分)
###任務描述 給定一個班每個同學的性別,分別輸出男女比例,男生學號和女生學號。 ###輸入 第一行一個整數n,0<n≤500表示班級人數。第二行中有n個0(女生)或者1(男生),表示按學號(從1號開始)順序的每個同學性別。 ###輸出 第一行輸出男生與女生的比例,形式為1:?。如果男女生相等,則輸出1:1;如果沒有男生輸出性別為0:1;如果沒有女生,性別比輸出1:0,否則輸出1:?,結果保留2位小數。 第二行從小到大輸出男生的學號,學號之間用空格分隔,行首和行尾不能有空格。如果沒有男生則輸出“no boys”。 第三行從小到大輸出女生的學號,學號之間用空格分隔,行首和行尾不能有空格。如果沒有女生則輸出“no girls”。
###輸入舉例
10
1 0 0 1 0 0 1 1 0 1
###輸出舉例
1:1
1 4 7 8 10
2 3 5 6 9
#include<stdio.h>
int main()
{int n
,i
,x
=0,y
=0;double t
;scanf("%d",&n
);int a
[n
+1],m
[n
],w
[n
];for(i
=1; i
<=n
; i
++){scanf("%d",&a
[i
]);if(a
[i
]==0){w
[x
]=i
;x
++;}if(a
[i
]==1){m
[y
]=i
;y
++;}}if(y
==0&&x
!=0){printf("0:1\n");printf("no boys\n");for(i
=0; i
<x
-1; i
++){printf("%d ",w
[i
]);}printf("%d",w
[x
-1]);}if(x
==0&&y
!=0){printf("1:0\n");for(i
=0; i
<y
-1; i
++){printf("%d ",m
[i
]);}printf("%d",m
[y
-1]);printf("\n");printf("no girls\n");}if(x
!=0&&y
!=0){if(x
==y
){printf("1:1\n");}else{t
=1.0*x
/y
;printf("1:%.2lf\n",t
);}for(i
=0; i
<y
-1; i
++){printf("%d ",m
[i
]);}printf("%d",m
[y
-1]);printf("\n");for(i
=0; i
<x
-1; i
++){printf("%d ",w
[i
]);}printf("%d",w
[x
-1]);printf("\n");}return 0;
}
總結
以上是生活随笔為你收集整理的男生女生(C语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。