输入一个正整数n,找到n中最小的数位x,统计x出现的次数s
时间: 2024-12-20 19:19:52 浏览: 5
要实现这个功能,你可以使用C++编写一个简单的程序。首先,你需要读取用户的输入`n`,然后遍历每一位数字并找出最小的数位`x`,同时统计它的出现次数`s`。以下是一个简单的示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 获取用户输入
string num_str = to_string(n); // 将整数转换为字符串便于处理每一位
int x = num_str[0]; // 假设第一个字符是最小的数位
int s = 1; // 初始计数器为1,因为我们至少会出现一次
for (int i = 1; i < num_str.length(); ++i) { // 遍历从第二个字符开始
if (num_str[i] < x) { // 如果当前字符比已知的最小数位小
x = num_str[i]; // 更新最小数位
s = 1; // 重置计数器,因为新的数位可能只出现一次
} else if (num_str[i] == x) { // 否则如果字符等于最小数位
++s; // 增加计数
}
}
cout << "The smallest digit is " << x << " and it appears " << s << " times." << endl;
return 0;
}
```
这段代码的工作原理是初始化最小数位为第一个字符,然后遍历整个字符串,比较每个字符。如果遇到更小的数位,则更新最小数位并将计数器重置;如果遇到相同的数位,则增加计数。
阅读全文