タイトル説明
与えられたn個の数のうち、負、ゼロ、正の数を数えます。
入力
入力データには複数のグループがあり、各グループは1行を占め、各行の最初の数字は整数n(n <100)です。これは、カウントされる値の数を意味し、次にn個の実数です。n= 0の場合、入力が終了すると、その行は処理されません。
出力
入力データの各グループについて、指定されたデータの負の数、ゼロの数、および正の数をそれぞれ表すa、b、およびcの行を出力します。
サンプル入力
6 0 1 2 3 -1 0
5 1 2 3 4 0.5
0
サンプル出力
1 2 3
0 0 5
アイデア
質問の意味は、n個の数値を入力して、正の数、負の数、およびゼロの数を確認することです。n = 0の場合、入力は終了します。として記述しwhile(~scanf("%d", &n) && n)
たり、ループに追加したりできますif(n == 0) break;
C言語コード:
#include<stdio.h>
int main()
{
int a;
while(~scanf("%d",&a) && a)
{
int zheng =0, fu = 0, ling = 0;
for(int i = 0;i < a; i++)
{
double x;
scanf("%lf",&x);
if(x < 0) fu ++;
if(x == 0) ling ++;
if(x > 0) zheng ++;
}
printf("%d %d %d\n", fu, ling, zheng);
}
return 0;
}
C ++コード:
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int n;
double num;
while(cin >> n)
{
if(n == 0) break;
int a = 0, b = 0, c = 0;
while(n--)
{
cin >> num;
if(num > 0) a++;
else if(num == 0) b++;
else if(num < 0) c++;
}
cout << c << " " << b << " " << a << endl;
}
return 0;
}