Online Compiler C

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

2) 提示:检查处理数字0的逻辑是否必要,因为当数字为0时,循环无法进入会导致最小值变量保持初始值10。
   注意:代码中scanf格式字符串末尾的空格可能导致输入时需要额外字符才能结束读取。