(用c语言编写)输入一个正整数n,找出其中最小的一位数字,用该位数字组成一个新数,新数 的位数与原数相同。
时间: 2024-03-20 15:45:27 浏览: 103
以下是用C语言编写的程序:
```c
#include<stdio.h>
int main() {
int n, min = 9; // 初始化最小值为9,因为最小的数字不可能大于9
scanf("%d", &n); // 输入正整数n
int temp = n; // 用临时变量存储n,避免修改原数
while(temp > 0) { // 循环取出最小的数字
int digit = temp % 10;
if(digit < min) {
min = digit;
}
temp /= 10;
}
int new_num = 0;
temp = n; // 再次用临时变量存储n
int pos = 1; // 用于表示数字的位置,初始值为1
while(temp > 0) { // 循环构造新数
int digit = temp % 10;
if(digit == min) {
new_num += pos * digit;
pos *= 10;
}
temp /= 10;
}
printf("%d\n", new_num); // 输出新数
return 0;
}
```
该程序首先使用 `scanf` 函数获取输入的正整数 `n`,然后使用 `while` 循环找出其中的最小数字,再使用另一个 `while` 循环构造新数。最后使用 `printf` 函数输出新数。
阅读全文