C/C++编程学习 - 第3周 ⑦ 数值统计

题目链接

题目描述

统计给定的n个数中,负数、零和正数的个数。

Input
输入数据有多组,每组占一行,每行的第一个数是整数 n(n < 100),表示需要统计的数值的个数,然后是 n 个实数;如果 n = 0,则表示输入结束,该行不做处理。

Output
对于每组输入数据,输出一行 a, b 和 c,分别表示给定的数据中负数、零和正数的个数。

Sample Input

6 0 1 2 3 -1 0
5 1 2 3 4 0.5
0 

Sample Output

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;
}

没有C语言基础的同学们,可以先学习一下C语言语法,我会整理好,后面发出来
我已经写好了,可以去C语言程序设计专栏第一周的内容

本周其他练习:

C语言程序设计专栏

C/C++编程学习 - 第3周 ① A + B problem

C/C++编程学习 - 第3周 ② 大象喝水

C/C++编程学习 - 第3周 ③ 计算球体积

C/C++编程学习 - 第3周 ④ 水仙花数

C/C++编程学习 - 第3周 ⑤ 计算两点间距离

C/C++编程学习 - 第3周 ⑥ 温度表达转化

C/C++编程学习 - 第3周 ⑦ 数值统计

C/C++编程学习 - 第3周 ⑧ 质数和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水蛙菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值