猿问

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

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



全球嘲讽
浏览 3505回答 1
1回答

慕仰2239238

#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您输入的的数值不是素数.您输入的的数值是对称数.
随时随地看视频慕课网APP
我要回答