#include<stdio.h>
/***** 判断位数 *****/
int is_digit(long long a){
int sum=0;
while(a){
sum++;
a/=10;
}
printf("该数的位数为:%d\n",sum);
return 0;
}
/***** 判断素数 *****/
int is_prime(long long a){
int i,n=0;
for(i=2;i<a;i++){
if(a%i==0){
n++;break;
}
}
if(n==0){
printf("您输入的的数值是素数.\n");
}else{
printf("您输入的的数值不是素数.\n");
}
return 0;
}
/***** 判断对称数 *****/
int is_symmetry(long long a){
int i;
long long sum=0;
long long b=a;
while(a){
sum=sum*10+a%10;
a=a/10;
}
if(sum==b){
printf("您输入的的数值是对称数.\n");
}else{
printf("您输入的的数值不是对称数.\n");
}
}
int main()
{
/***** 输入数值,long long a,输入数值不能超过19位 *****/
long long a;
scanf("%lld",&a);
printf("您输入的数值是:%lld\n",a);
is_digit(a);
is_prime(a);
is_symmetry(a);
}输入:12345654321输出结果为:您输入的数值是:12345654321该数的位数为:11您输入的的数值不是素数.您输入的的数值是对称数.