统计1~n有多少个9 ,n通过参数传入

//通过编程实现,统计1~n有多少个9 ,n通过参数传入
#include <stdio.h>


int num(int a);
int main()
{
int n; //n为输入的整数变量


printf("Please input a num:\n");
scanf("%d",&n);
num(n);//调用num函数
return 0;
}


int num(int a)
{
int i; 
int count = 0;//count用来统计有多少个9,
int b = 0;
int c = 0;


for(i = 1;i <= a;i++)
{
c = i;
while(c)
{
b = c % 10;//取个位
c = c / 10;//去掉一位,继续判断
if(b == 9)
{
count++;//count用来计数
}
}
}

printf("9的个数为:%d\n",count);
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 假设给定的n个数存储在一个列表中,那么统计负数、零和正数的个数可以按照以下步骤进行: 1. 初始化三个变量,分别用于记录负数、零和正数的个数。初始值都设置为0。 2. 遍历列表中的每个数,判断其正负性并更新相应的变量。 3. 遍历完所有数后,输出三个变量的值,即为负数、零和正数的个数。 以下是Python代码示例: ```python def count_numbers(numbers): positive = 0 negative = 0 zero = 0 for num in numbers: if num > 0: positive += 1 elif num < 0: negative += 1 else: zero += 1 print(f"正数个数:{positive}") print(f"负数个数:{negative}") print(f"零的个数:{zero}") ``` 调用函数时,将给定的n个数作为参数传入即可: ```python numbers = [1, -2, 3, 0, -4, 5] count_numbers(numbers) ``` 输出结果为: ``` 正数个数:3 负数个数:2 零的个数:1 ``` ### 回答2: 统计给定的n个数的负数、零和正数的个数,可以先定义三个变量neg、zero、pos分别用于记录三种数的个数,初始值均为0。 然后用一个for循环来遍历这n个数,每次判断当前数的正负情况,根据情况给对应的变量加1,最后输出三个变量的值即可。 具体实现代码如下: ```python n = int(input("请输入n的值: ")) nums = list(map(int, input("请输入n个数,用空格隔开: ").split())) neg, zero, pos = 0, 0, 0 for num in nums: if num < 0: neg += 1 elif num == 0: zero += 1 else: pos += 1 print("负数个数为:", neg) print("零的个数为:", zero) print("正数个数为:", pos) ``` 运行代码后,我们可以输入n的值和n个数,例如: ``` 请输入n的值: 5 请输入n个数,用空格隔开: -3 0 1 2 -5 ``` 程序会自动计算出三种数的个数,输出结果如下: ``` 负数个数为: 3 零的个数为: 1 正数个数为: 1 ``` 这样,我们就成功地通过一个for循环,统计出给定的n个数中的负数、零和正数的个数了。 ### 回答3: 题目中要求对给定的n个数进行统计统计负数、零以及正数的个数。首先需要明确负数、零和正数的概念。负数指小于0的数,零指等于0的数,正数指大于0的数。在用程序对n个数进行统计时,可以使用循环将每个数依次读入,并对其进行判断,分类累加出现的次数。 可以定义三个计数器,分别表示负数、零和正数的个数,初始值都为0。在每次读入一个数时,使用if-else语句或switch语句根据数的正负和是否等于0进行分类判断,如果是负数,则将负数计数器加1;如果是0,则将零计数器加1;如果是正数,则将正数计数器加1。读入所有数后,可以将三个计数器的值输出,即可得到题目要求的结果。 下面是一段示例代码: ``` #include <iostream> using namespace std; int main() { int n, num, neg_cnt = 0, zero_cnt = 0, pos_cnt = 0; cout << "请输入数的个数n:"; cin >> n; for (int i = 1; i <= n; i++) { cout << "请输入第" << i << "个数:"; cin >> num; if (num < 0) { neg_cnt++; } else if (num == 0) { zero_cnt++; } else { pos_cnt++; } } cout << "负数个数:" << neg_cnt << endl; cout << "零的个数:" << zero_cnt << endl; cout << "正数个数:" << pos_cnt << endl; return 0; } ``` 以上代码使用循环读入n个数,并对其进行分类统计,最终输出三种数的个数。这种方法可以对任意数量的数进行统计,且代码简洁易懂,算法效率较高,适用于一般的数据量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值