来源:
西安电子科技大学XDOJ在线C语言编程练习题43
问题描述:
给出一个整数n(0<=n<=100000000)。求出该整数的位数,以及组成该整数的所有数字中的最大数字和最小数字。
解题思路:
1.根据题意x应用长整型变量,定义一个数组用于储存x的各位数字;
2.得到x的各位数字;
3.找出数组中最大最小;
代码实现:
#include<stdio.h>
int main(){
long x;
int i=0,j,a[8];
scanf("%ld",&x);
if (x==0) //单独判断0
{
printf("1 0 0");
}else{
while(x>0) //得到x的各位数字
{
a[i]=x%10;
x = x / 10;
i++;
}
int max=a[0];
int min=a[0];
for ( j = 1; j < i; j++) //找出最大最小项
{
if (max<a[j])
{
max = a[j];
}
if (min>a[j])
{
min=a[j];
}
}
printf("%d %d %d",i,max,min);
}
return 0;
}