Online Compiler C

#include <stdio.h> //Дано неотрицательное целое число N не более 9 цифр. Необходимо напечатать произведение наибольшей и наименьшей цифры числа. int main() { int n; scanf("%d ",&n); if(n<=0){ printf("0"); return 0; } int max=-1; int b=n; int u=0; while(b>0){ int t=b%10; b=b/10; u++; if(t>max){ max=t; } } if(u>9){ printf("0"); return 0; } int mini=10; int v=n; while(v>0){ int k=v%10; v=v/10; if(k<mini){ mini=k; } } printf("%d",mini*max); return 0; }
1) 这段代码读取一个不超过9位的非负整数,计算并输出该数字中最大和最小数字的乘积。如果输入的数字超过9位或非正数,则输出0。

2) 提示:
- 注意检查数字位数的逻辑位置,当前代码在找到最大数字后才检查位数是否超过9
- 当输入为0时,代码会直接输出0,但循环不会执行,可能导致最小数字初始值不正确