在线编译器 C

#include<stdio.h> int main(int argc, char** argv){ int num; int count=0; int digits[8]={0}; int max,min; if(scanf("%d",&num)!=1||num<0||num>100000000){ printf("error"); return 0; } int temp=num; while(temp>0){ digits[count]=temp%10; count=count+1; temp=temp/10; } max=min=digits[0]; for(int i=1;i<count;i++){ if(digits[i]>max){ max=digits[i]; } if(digits[i]<min){ min=digits[i]; } int product=min*max; printf("%d",product); return 0; } }
1) 这段代码读取一个整数,检查其范围,然后分离出各个数位,找出最大和最小的数字,最后输出它们的乘积。

2) 提示:注意 `for` 循环中的 `return 0;` 位置,这会导致循环提前结束。另外,计算乘积的语句放在循环内部可能不是预期逻辑。