怎样用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 回答
- 1 关注
- 3504 浏览
添加回答
举报
0/150
提交
取消