C / C ++プログラミング学習-3週目法律数値統計

トピックリンク

タイトル説明

与えられた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;
}

おすすめ

転載: blog.csdn.net/qq_44826711/article/details/112862995