为了账号安全,请及时绑定邮箱和手机立即绑定

怎样用C语言的数组编程:有一个自然数,判断它是几位数,并判断它是否是对称数和素数?

怎样用C语言的数组编程:有一个自然数,判断它是几位数,并判断它是否是对称数和素数?

C C# C++
全球嘲讽 2017-11-03 15:38:31
怎样用C语言的数组编程:有一个自然数,判断它是几位数,并判断它是否是对称数和素数?求大神解答
查看完整描述

1 回答

已采纳
?
慕仰2239238

TA贡献6条经验 获得超2个赞

#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

您输入的的数值不是素数.

您输入的的数值是对称数.

查看完整回答
1 反对 回复 2017-11-15
  • 1 回答
  • 1 关注
  • 3504 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信