编写代码,实现统计和输出一个正整数中各位数字中零的个数,及各位数字中最大者。
时间: 2023-11-22 08:55:51 浏览: 186
以下是实现上述功能的Python代码:
```python
num = int(input("请输入一个正整数:"))
# 统计0的个数
zero_count = 0
for digit in str(num):
if digit == '0':
zero_count += 1
print("数字中0的个数为:", zero_count)
# 求最大数字
max_digit = 0
for digit in str(num):
if int(digit) > max_digit:
max_digit = int(digit)
print("数字中最大的数字为:", max_digit)
```
由于Python中的数字类型是自动扩展的,因此可以将输入的正整数直接转换为字符串,然后遍历字符串中每个字符进行统计和比较。
相关问题
用c++编写函数实现统计和输出一个正整数各位数字中零的个数及各位数字中最大的数
以下是用 C++ 编写的实现函数代码:
```cpp
#include <iostream>
using namespace std;
void countZeroAndMax(int n, int& zeroCount, int& maxDigit) {
zeroCount = 0;
maxDigit = 0;
while (n > 0) {
int digit = n % 10;
if (digit == 0) {
zeroCount++;
}
if (digit > maxDigit) {
maxDigit = digit;
}
n /= 10;
}
}
int main() {
int n, zeroCount, maxDigit;
cout << "请输入一个正整数:";
cin >> n;
countZeroAndMax(n, zeroCount, maxDigit);
cout << "零的个数:" << zeroCount << endl;
cout << "最大的数:" << maxDigit << endl;
return 0;
}
```
这个函数接受一个正整数 `n` 和两个引用变量 `zeroCount` 和 `maxDigit`,函数会统计 `n` 各位数字中零的个数和最大的数,并将结果存储到 `zeroCount` 和 `maxDigit` 变量中。在主函数中,我们通过调用 `countZeroAndMax` 函数获取结果并输出。
用c++编写该程序:编写函数,实现统计和输出一个正整数中各位数字中零的个数,及各位数字中最大者。
以下是用 C++ 编写的程序,实现统计和输出一个正整数中各位数字中零的个数,及各位数字中最大者。
```c++
#include <iostream>
#include <string>
using namespace std;
void countAndMax(int n, int& zeroCount, int& maxDigit) {
zeroCount = 0;
maxDigit = -1;
string str = to_string(n);
for (int i = 0; i < str.size(); ++i) {
int digit = str[i] - '0';
if (digit == 0) {
++zeroCount;
}
if (digit > maxDigit) {
maxDigit = digit;
}
}
}
int main() {
int n = 1230450;
int zeroCount, maxDigit;
countAndMax(n, zeroCount, maxDigit);
cout << "Zero count: " << zeroCount << endl;
cout << "Max digit: " << maxDigit << endl;
return 0;
}
```
输出结果:
```
Zero count: 2
Max digit: 5
```
解释:
该程序定义了一个 `countAndMax` 函数,用于统计一个正整数中各位数字中零的个数和最大数字。该函数的参数包括要统计的正整数 `n`,以及两个引用类型的变量 `zeroCount` 和 `maxDigit`,用于返回结果。在函数内部,首先将 `zeroCount` 和 `maxDigit` 的值初始化为 0 和 -1,然后将 `n` 转换为字符串类型,并遍历字符串中的每个字符。对于每个字符,将其转换为数字,并判断是否为 0 或者是否大于当前的 `maxDigit`,如果是,则相应地更新 `zeroCount` 和 `maxDigit`。最后,在主函数中调用 `countAndMax` 函数,并输出结果。