标题
整数分析
类别
流程控制
时间限制
1S
内存限制
256Kb
问题描述
给出一个整数n(0<=n<=100000000)。求出该整数的位数,以及组成该整数的所有数字中的最大数字和最小数字。
输入说明
输入一个整数n(0<=n<=100000000)
输出说明
在一行上依次输出整数n的位数,以及组成该整数的所有数字中的最大数字和最小数字,各个数字之间用空格分隔。
输入样例
217
输出样例
3 7 1
代码:整数分析
#include <stdio.h>
int main()
{
long int n;
int a[9],i,b,j,max,min;
scanf("%d",&n);
a[8]=n/100000000;
a[7]=(n/10000000)%10;
a[6]=(n/1000000)%10;
a[5]=(n/100000)%10;
a[4]=(n/10000)%10;
a[3]=(n/1000)%10;
a[2]=(n/100)%10;
a[1]=(n/10)%10;
a[0]=n%10;
i=8;
b=0;
if(n==0)
{ b=1;
i=-1;
}
while(b==0)
{
if(a[i]!=0)
b=1;
i--;
}
max=a[0];
min=a[0];
for(j=i+1;j>-1;j--)
{
if(max<a[j])
{
max=a[j];
}
if(min>a[j])
{ min=a[j];
}
}
printf("%d %d %d",i+2,max,min);
}