通过C语言实现以下功能,输入一个正整数,并输出某位数的最大值,例如,输入427,由于个位的7最大,故输出7
时间: 2024-05-01 20:16:38 浏览: 54
```c
#include <stdio.h>
int main() {
int num, max_digit = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
while (num > 0) {
int digit = num % 10;
if (digit > max_digit) {
max_digit = digit;
}
num /= 10;
}
printf("最大的数字是:%d\n", max_digit);
return 0;
}
```
相关问题
c语言:从键盘输入一个正整数值,将这个数逆序输出
在C语言中,你可以使用数组来存储用户输入的数字,并通过循环结构倒序输出。下面是一个简单的示例程序:
```c
#include <stdio.h>
#define MAX_DIGITS 10 // 设定最大位数以防溢出
void reverse(int num[], int size) {
int start = 0;
int end = size - 1;
while (start < end) {
int temp = num[start]; // 临时保存起始位置的数
num[start] = num[end]; // 将末尾数移到起始位置
num[end] = temp; // 把临时值放到末尾
start++; // 起始位置右移一位
end--; // 结束位置左移一位
}
}
int main() {
int num[MAX_DIGITS];
int input;
printf("请输入一个正整数:");
scanf("%d", &input);
if (input > 0 && input <= MAX_DIGITS) { // 验证输入是否合法
num[0] = input; // 将输入的数存入数组
reverse(num, 1); // 反转数组
for (int i = 0; i < sizeof(num) / sizeof(num[0]); i++) {
printf("%d", num[i]);
}
} else {
printf("输入错误!请输入一个正整数。\n");
}
return 0;
}
```
在这个程序中,我们首先获取用户的输入并检查它是否是一个正整数。然后我们将输入的数存入数组`num`,并通过`reverse`函数将其逆序,最后遍历数组打印出结果。
c语言编程实现,输入一个三位的正整数,求个、十、百、位数的最大数
我可以回答这个问题。对于一个三位的正整数,我们可以通过以下代码来求出个、十、百位数的最大值:
```c
#include <stdio.h>
int main() {
int num, a, b, c;
printf("请输入一个三位的正整数:");
scanf("%d", &num);
a = num % 10; // 个位数
b = num / 10 % 10; // 十位数
c = num / 100; // 百位数
int max = a > b ? (a > c ? a : c) : (b > c ? b : c); // 求最大值
printf("个位数:%d\n十位数:%d\n百位数:%d\n最大值:%d\n", a, b, c, max);
return 0;
}
```
这个程序可以输出输入的三位正整数的个、十、百位数以及它们的最大值。
阅读全文