Online Compiler C

#include <stdio.h> int main() { int n; scanf("%d",&n); int pro; scanf("%d",&pro); int max,min; scanf("%d %d",&max,&min); while(n>0){ int a=n%10; max=a; int b=(n/10)%10; if(b>a){ max=b; min=a; }else{ max=a; min=b; } n=n/10; } pro=max*min; printf("%d",pro); return 0; }
1) 这段代码旨在读取一个整数,然后计算其各位数字中最大值和最小值的乘积。但是代码存在逻辑错误,无法正确找到所有数字的最大值和最小值。

2) 提示1:注意当前代码在循环中每次只比较两个相邻的数字,而不是找出整个数字序列中的最大值和最小值。
   提示2:考虑在循环开始前为max和min设置合适的初始值,并在循环中更新这两个值。